更改SCM时间轴页面HTML

更改SCM时间轴页面HTML,html,css,version-control,fossil,Html,Css,Version Control,Fossil,我需要在timelineTableCellclass td元素中更改化石SCM生成的时间线页面的HTML。此td元素的当前内容如下 <td class="timelineTableCell" style="FOO"> <a class="timelineHistLink" href="FOO">[DF45GH67MD]</a> <span class="timelineLeaf">Leaf:</span> <

我需要在timelineTableCellclass td元素中更改化石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><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>

叶子:
这里有任何评论
(用户:,标签:)
我要求每个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><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>

叶(如果不是叶,则为空)
这里有任何评论
用户:
标签:

因此,这一页将看起来更好地对齐,更具可读性。我该怎么做呢?

我可以想出两种方法:

  • 通过构建您自己的化石版本。克隆化石,并创建一个(私有)分支,您可以在其中更改,并编译您自己的化石版本。这确实意味着每次您想要更新化石时,都需要将主干合并到分支中,然后再次编译它
  • 使用CSS和Javascript。在
    Admin
    页面下,您可以在为每个页面生成的页眉和页脚部分插入内容

    • 查找
      CSS
      页面。在这里,您可以指定
      显示:表格单元格用于
      .timelineHistLink、.timelineeaf、.timelineComment
      。这将把这三个元素变成单独的表格单元格。请注意,我还没有对此进行测试,它可能不起作用,因为它们已经在一个表单元格中。在任何情况下,这都不会将用户和标记变成单独的单元格。这是您必须使用Javascript来完成的事情
    • Footer
      页面中,您可以插入一段Javascript,以您喜欢的方式更改页面。下面是我曾经编写的一个脚本示例,该脚本用于消除每次签入的UUID,并将提交文本转换为链接:
  • (TH1是Fossil的服务器端语言;我在这里使用它来表示该脚本应该只在时间轴页面上生成,而不是在每个页面上生成)

    
    如果{$current_page eq“timeline”}{
    启用输出1
    }否则{
    启用\u输出0
    }
    (功能(){
    var cells=document.getElementsByClassName('timelineTableCell');
    对于(变量i=0;icells[i].innerHTML=cells[i].innerHTML.replace(/^[^将JavaScript添加到页脚的第二种方法满足了我的需要,谢谢。