「Trac」:修訂間差異

出自Gea-Suan Lin's Wiki
跳至導覽 跳至搜尋
本頁面具有訪問限制。如果您看見此訊息,這代表您沒有訪問本頁面的權限。
行 9: 行 9:
 另外在1.0的系統上,因為需要Due Date的設計所以安裝了:
 另外在1.0的系統上,因為需要Due Date的設計所以安裝了:
* [https://trac-hacks.org/wiki/DateFieldPlugin DateFieldPlugin – Trac Hacks - Plugins Macros etc.]
* [https://trac-hacks.org/wiki/DateFieldPlugin DateFieldPlugin – Trac Hacks - Plugins Macros etc.]
== 設定 ==
在<code>templates/site.html</code>裡做了一些事情。
JavaScript的部份:
* 用JavaScript針對今天到期以及過期的票增加CSS。
* 預設展開修改的區域。
CSS的部份:
* 全部使用sans-serif字型。
* 修正button因為CSS效果而有時會按不到的問題。
* 針對今天到期與過期的票用不同的標示標出。
* 將已經關掉的票變淡。
* 讓編輯區域使用等寬字型。
* 讓可用範圍變寬。
<pre>
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:py="http://genshi.edgewall.org/"
    py:strip="">
  <!--! Add site-specific style sheet -->
  <head py:match="head" py:attrs="select('@*')">
   ${select('*|comment()|text()')}
   <style type="text/css">
   <!--
   body, th, tr {
     font-family: sans-serif;
   }
   input[type=button]:active, input[type=submit]:active,
   input[type=reset]:active {
     position: relative;
     top: 0;
     left: 0;
   }
   table.tickets tr.duedate_overdue {
     font-weight: bold;
   }
   table.tickets tr.duedate_today {
     border: 2px solid;
   }
   table.subtickets tr.ticket_closed {
     opacity: 0.5;
   }
   textarea {
     font-family: monospace;
   }
   #content.ticket {
     width: 68em;
   }
   -->
   </style>
  </head>
  <body py:match="body" py:attrs="select('@*')">
   ${select('*|text()')}
   <script>
   <!--
   (function() {
     var d = new Date();
     var today = (new Date(d.getTime() - d.getTimezoneOffset() * 60000)).toISOString().slice(0, 10);
     document.querySelectorAll('table.tickets td.due_date').forEach(function(el) {
       var due = el.innerText.trim();
       if (due < today) {
         el.parentElement.classList.add('duedate_overdue');
       } else if (due === today) {
         el.parentElement.classList.add('duedate_today');
       }
     });
   })();
   jQuery(function() {
     var el = document.getElementById('modify');
     if (el) {
       el.parentElement.classList.remove('collapsed');
     }
   });
   //-->
   </script>
  </body>
</html>
</pre>


== 外部連結 ==
== 外部連結 ==

於 2018年2月18日 (日) 09:32 的修訂

Trac是一套問題追蹤系統英語:Issue tracking system)。

安裝

除了基本安裝外,還會安裝這些套件:

另外在1.0的系統上,因為需要Due Date的設計所以安裝了:

設定

templates/site.html裡做了一些事情。

JavaScript的部份:

  • 用JavaScript針對今天到期以及過期的票增加CSS。
  • 預設展開修改的區域。

CSS的部份:

  • 全部使用sans-serif字型。
  • 修正button因為CSS效果而有時會按不到的問題。
  • 針對今天到期與過期的票用不同的標示標出。
  • 將已經關掉的票變淡。
  • 讓編輯區域使用等寬字型。
  • 讓可用範圍變寬。
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:py="http://genshi.edgewall.org/"
      py:strip="">

  <!--! Add site-specific style sheet -->
  <head py:match="head" py:attrs="select('@*')">
    ${select('*|comment()|text()')}
    <style type="text/css">
    <!--
    body, th, tr {
        font-family: sans-serif;
    }
    input[type=button]:active, input[type=submit]:active,
    input[type=reset]:active {
        position: relative;
        top: 0;
        left: 0;
    }
    table.tickets tr.duedate_overdue {
        font-weight: bold;
    }
    table.tickets tr.duedate_today {
        border: 2px solid;
    }
    table.subtickets tr.ticket_closed {
        opacity: 0.5;
    }
    textarea {
        font-family: monospace;
    }
    #content.ticket {
        width: 68em;
    }
    -->
    </style>
  </head>

  <body py:match="body" py:attrs="select('@*')">
    ${select('*|text()')}

    <script>
    <!--
    (function() {
        var d = new Date();
        var today = (new Date(d.getTime() - d.getTimezoneOffset() * 60000)).toISOString().slice(0, 10);
        document.querySelectorAll('table.tickets td.due_date').forEach(function(el) {
            var due = el.innerText.trim();
            if (due < today) {
                el.parentElement.classList.add('duedate_overdue');
            } else if (due === today) {
                el.parentElement.classList.add('duedate_today');
            }
        });
    })();

    jQuery(function() {
        var el = document.getElementById('modify');
        if (el) {
            el.parentElement.classList.remove('collapsed');
        }
    });
    //-->
    </script>
  </body>
</html>

外部連結