1

timelineTableCellクラスの td 要素内で Fossil-SCM によって生成されたタイムライン ページの HTML を変更する必要があります。この td 要素の現在の内容は次のとおりです。

<td class="timelineTableCell" style="FOO">
    <a class="timelineHistLink" href="FOO">[DF45GH67MD]</a>
    <span class="timelineLeaf">Leaf:</span>
    <span class="timelineComment">Any comment goes here</span>
    (user: <a href="FOO">User Name</a>,tags: <a href="FOO">Lyca+ HLR</a>)
</td>

次のように、個々の td の各要素が必要です

<td><a class="timelineHistLink" href="FOO">[DF45GH67MD]</a></td>
<td><span class="timelineLeaf">Leaf(empty if not leaf)</span></td>
<td><span class="timelineComment">Any comment goes here</span></td>
<td>User: <a href="FOO">Usr_Name</a></td>
<td>Tags: <a href="FOO">Tag_Name</a></td>

したがって、このページにより、整列が改善され、読みやすくなります。これどうやってするの?

4

1 に答える 1

2

次の 2 つの方法が考えられます。

  1. Fossil の独自のバージョンを構築することによってFossilリポジトリのクローンを作成し、ソース コードを変更して独自のバージョンの Fossil をコンパイルできる (プライベート) ブランチを作成します。これは、化石を更新するたびに、トランクをブランチにマージし、再度コンパイルする必要があることを意味します。
  2. CSS と Javascript を使用して。ページの下ではAdmin、各ページに生成されるヘッダーとフッター セクションに内容を挿入できます。

    • ページを探しCSSます。display: table-cell;そこで、 forを指定できます.timelineHistLink, .timelineLeaf, .timelineComment。これにより、これら 3 つの要素が個別のテーブル セルに変わります。私はこれをテストしていないことに注意してください。それらは既に表のセル内にあるため、機能しない可能性があります。いずれにせよ、これはユーザーとタグを別々のセルに変換しません。これは、Javascript を使用して行う必要があることです。
    • ページに Javascript を挿入して、Footerページを好きなように変更できます。これは、各チェックインの UUID を取り除き、コミット テキストをリンクに変換するために私がかつて書いたスクリプトの例です。

(TH1 は Fossil のサーバー側言語です。ここでは、このスクリプトをすべてのページではなくタイムライン ページでのみ生成する必要があることを示すために使用しています)。

<th1>
    if {$current_page eq "timeline"} {
        enable_output 1
    } else {
        enable_output 0
    }
</th1>
<script>
(function() {
        var cells = document.getElementsByClassName('timelineTableCell');
        for (var i = 0; i < cells.length; i++) {
                cells[i].innerHTML = cells[i].innerHTML.replace(/^[^<]*<a href="([^"]*)">[^<]*<\/a>\]\s*(.*)\s+(\(user:[^\0]*\))\s*$/, '<a href="$1">$2</a><br> <span style="font-size: smaller; font-style: italic; opacity: 0.75">$3</span>');
        }
})();
</script>
<th1>
    enable_output 1
</th1>
于 2014-03-28T16:52:45.867 に答える