Ignore:
Timestamp:
May 2, 2007, 11:05:55 AM (14 years ago)
Author:
Peter Johansson
Message:

support for Trac. Fixes #125. Also added a config file.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/html_utility.cc

    r263 r274  
    2525
    2626#include "Commitment.h"
     27#include "Configuration.h"
    2728#include "Date.h"
    2829#include "HtmlStream.h"
     
    421422    std::string timefmt("%b %d %H:%M:%S %Y");
    422423    const size_t maxlength = 80;
     424    const Configuration* conf = Configuration::instance();
    423425    for (size_t i=0; i<10 && a!=log.author().rend(); ++i) {
    424426      os << "<tr><td>" << anchor(*a+"/total/index.html",*a) << "</td>";
    425427      Date date(*d);
    426428      os << "<td>" << date(timefmt) << "</td>";
    427       os << "<td>" << *r << "</td>";
     429      os << "<td>";
     430      os << trac_revision(*r);
     431      os << "</td>";
    428432      os << "<td>";
    429433      std::string mess = *m;
     
    434438      if (mess.size()>maxlength)
    435439        mess = mess.substr(0,maxlength-3) + "...";
    436       hs << mess;
     440
     441      if (conf->trac_ticket().empty())
     442        hs << mess;
     443      else { // make anchors to trac
     444        char c;
     445        std::stringstream ss(mess);
     446        for (ss.get(c); ss.good(); ss.get(c)) {
     447          if (c=='#') {
     448            std::string str;
     449            ss >> str;
     450            if (is_int(str))
     451              os << anchor(conf->trac_ticket()+str,"#"+str);
     452            else
     453              hs << "#" << str;
     454          }
     455          else
     456            hs << c;
     457        }
     458      }
     459
    437460      os << "</td></tr>";
    438461      ++a;
     
    444467  }
    445468
     469
     470  std::string trac_revision(size_t r)
     471  {
     472    Configuration* conf = Configuration::instance();
     473    std::stringstream ss;
     474    if (conf->trac_revision().empty())
     475      ss << r;
     476    else {
     477      std::stringstream rev;
     478      rev << r;
     479      ss << anchor(conf->trac_revision()+rev.str(), rev.str());
     480    }
     481    return ss.str();
     482  }
     483
    446484}} // end of namespace svndigest and namespace theplu
Note: See TracChangeset for help on using the changeset viewer.