source: trunk/lib/HtmlStream.cc @ 235

Last change on this file since 235 was 235, checked in by Peter Johansson, 14 years ago

added Date class
changed date format on first page
fixed plotting only once (fixes #113)
changed interface to anchor class
more anchors to users
removed anchor to '../' in author summary in dirs
anchors are filtered through HtmlStream?
log messages are truncated and newlines are replaced with spaces

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 1.9 KB
Line 
1// $Id: HtmlStream.cc 235 2007-04-21 13:39:50Z peter $
2
3/*
4  Copyright (C) 2007 Peter Johansson
5
6  This file is part of svndigest, http://lev.thep.lu.se/trac/svndigest
7
8  svndigest is free software; you can redistribute it and/or modify it
9  under the terms of the GNU General Public License as published by
10  the Free Software Foundation; either version 2 of the License, or
11  (at your option) any later version.
12
13  svndigest is distributed in the hope that it will be useful, but
14  WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  General Public License for more details.
17
18  You should have received a copy of the GNU General Public License
19  along with this program; if not, write to the Free Software
20  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
21  02111-1307, USA.
22*/
23
24#include "HtmlStream.h"
25
26#include <string>
27
28namespace theplu{
29namespace svndigest{
30
31  HtmlStream::HtmlStream(std::ostream& os)
32    : os_(os)
33  {
34    map_['"']=std::string("\"");
35    map_['\'']=std::string("\'");
36    map_['\n']=std::string("<br />");
37    map_['<']=std::string("&lt;");
38    map_['>']=std::string("&gt;");
39    map_['&']=std::string("&amp;");
40    // This should be configurable, but for now indentation is two spaces.
41    map_['\t']=std::string("&nbsp;&nbsp;");
42    map_['å']=std::string("&aring;");
43    map_['ä']=std::string("&auml;");
44    map_['ö']=std::string("&ouml;");
45    map_['Å']=std::string("&Aring;");
46    map_['Ä']=std::string("&Auml;");
47    map_['Ö']=std::string("&Ouml;");
48    map_['é']=std::string("&eacute;");
49    map_['É']=std::string("&Eacute;");
50    map_['á']=std::string("&aacute;");
51    map_['Á']=std::string("&Aacute;");
52  }
53
54
55  HtmlStream::~HtmlStream(void)
56  {
57  }
58
59
60  void HtmlStream::print(std::stringstream& ss)
61  {
62    char c;
63    while (true){
64      ss.get(c);
65      if (!ss.good())
66        return;
67      std::map<char, std::string>::const_iterator i = map_.find(c);
68      if (i==map_.end())
69        os_ << c;
70      else
71        os_ << i->second;
72    }
73  }
74
75}} // end of namespace svndigest and namespace theplu
Note: See TracBrowser for help on using the repository browser.