# config

name: css
value:
  /* General settings for the entire page */
  body {
    margin: 0ex 0ex;
    padding: 0px;
    background-color: #fef3bc;
    font-family: sans-serif;
  }

  /* The project logo in the upper left-hand corner of each page */
  div.logo {
    display: inline;
    text-align: center;
    vertical-align: bottom;
    font-weight: bold;
    font-size: 2.5em;
    color: #a09048;
  }

  /* The page title centered at the top of each page */
  div.title {
    display: table-cell;
    font-size: 2em;
    font-weight: bold;
    text-align: left;
    padding: 0 0 0 5px;
    color: #a09048;
    vertical-align: bottom;
    width: 100%;
  }

  /* The login status message in the top right-hand corner */
  div.status {
    display: table-cell;
    text-align: right;
    vertical-align: bottom;
    color: #a09048;
    padding: 5px 5px 0 0;
    font-size: 0.8em;
    font-weight: bold;
  }

  /* The header across the top of the page */
  div.header {
    display: table;
    width: 100%;
  }

  /* The main menu bar that appears at the top of the page beneath
  ** the header */
  div.mainmenu {
    padding: 5px 10px 5px 10px;
    font-size: 0.9em;
    font-weight: bold;
    text-align: center;
    letter-spacing: 1px;
    background-color: #a09048;
    color: black;
  }

  /* The submenu bar that *sometimes* appears below the main menu */
  div.submenu, div.sectionmenu {
    padding: 3px 10px 3px 0px;
    font-size: 0.9em;
    text-align: center;
    background-color: #c0af58;
    color: white;
  }
  div.mainmenu a, div.mainmenu a:visited, div.submenu a, div.submenu a:visited,
  div.sectionmenu>a.button:link, div.sectionmenu>a.button:visited {
    padding: 3px 10px 3px 10px;
    color: white;
    text-decoration: none;
  }
  div.mainmenu a:hover, div.submenu a:hover, div.sectionmenu>a.button:hover {
    color: #a09048;
    background-color: white;
  }

  /* All page content from the bottom of the menu or submenu down to
  ** the footer */
  div.content {
    padding: 1ex 5px;
  }
  div.content a { color: #706532; }
  div.content a:link { color: #706532; }
  div.content a:visited { color: #704032; }
  div.content a:hover { background-color: white; color: #706532; }

  /* Some pages have section dividers */
  div.section {
    margin-bottom: 0px;
    margin-top: 1em;
    padding: 3px 3px 0 3px;
    font-size: 1.2em;
    font-weight: bold;
    background-color: #a09048;
    color: white;
  }

  /* The "Date" that occurs on the left hand side of timelines */
  div.divider {
    background: #e1d498;
    border: 2px #a09048 solid;
    font-size: 1em; font-weight: normal;
    padding: .25em;
    margin: .2em 0 .2em 0;
    float: left;
    clear: left;
  }

  /* The footer at the very bottom of the page */
  div.footer {
    font-size: 0.8em;
    margin-top: 12px;
    padding: 5px 10px 5px 10px;
    text-align: right;
    background-color: #a09048;
    color: white;
  }

  /* Hyperlink colors */
  div.footer a { color: white; }
  div.footer a:link { color: white; }
  div.footer a:visited { color: white; }
  div.footer a:hover { background-color: white; color: #558195; }

  /* <verbatim> blocks */
  pre.verbatim {
     background-color: #f5f5f5;
     padding: 0.5em;
  }

  /* The label/value pairs on (for example) the ci page */
  table.label-value th {
    vertical-align: top;
    text-align: right;
    padding: 0.2ex 2ex;
  }

  /* Side-by-side diff */
  table.sbsdiff {
    background-color: #ffffc5;
    font-family: fixed, Dejavu Sans Mono, Monaco, Lucida Console, monospace;
    font-size: 8pt;
    border-collapse:collapse;
    white-space: pre;
    width: 98%;
    border: 1px #000 dashed;
  }

  table.sbsdiff th.diffhdr {
    border-bottom: dotted;
    border-width: 1px;
  }

  table.sbsdiff tr td {
    white-space: pre;
    padding-left: 3px;
    padding-right: 3px;
    margin: 0px;
  }

  table.sbsdiff tr td.lineno {
    text-align: right;
  }

  table.sbsdiff tr td.meta {
    background-color: #a09048;
    text-align: center;
  }

  table.sbsdiff tr td.added {
    background-color: rgb(210, 210, 100);
  }

  table.sbsdiff tr td.removed {
    background-color: rgb(190, 200, 110);
  }

  table.sbsdiff tr td.changed {
    background-color: rgb(200, 210, 120);
  }


name: header
value:
  <html>
  <head>
  <title>$<project_name>: $<title></title>
  <link rel="alternate" type="application/rss+xml" title="RSS Feed"
        href="$home/timeline.rss">
  <link rel="stylesheet" href="$home/style.css?tan" type="text/css"
        media="screen">
  </head>
  <body>
  <div class="header">
    <div class="title">$<title></div>
    <div class="status">
      <div class="logo"><nobr>$<project_name></nobr></div><br/>
      <nobr><th1>
       if {[info exists login]} {
         puts "Logged in as $login"
       } else {
         puts "Not logged in"
       }
    </th1></nobr></div>
  </div>
  <div class="mainmenu">
  <th1>
  html "<a href='$home$index_page'>Home</a>\n"
  if {[anycap jor]} {
    html "<a href='$home/timeline'>Timeline</a>\n"
  }
  if {[hascap oh]} {
    html "<a href='$home/dir?ci=tip'>Files</a>\n"
  }
  if {[hascap o]} {
    html "<a href='$home/brlist'>Branches</a>\n"
    html "<a href='$home/taglist'>Tags</a>\n"
  }
  if {[hascap r]} {
    html "<a href='$home/reportlist'>Tickets</a>\n"
  }
  if {[hascap j]} {
    html "<a href='$home/wiki'>Wiki</a>\n"
  }
  if {[hascap s]} {
    html "<a href='$home/setup'>Admin</a>\n"
  } elseif {[hascap a]} {
    html "<a href='$home/setup_ulist'>Users</a>\n"
  }
  if {[info exists login]} {
    html "<a href='$home/login'>Logout</a>\n"
  } else {
    html "<a href='$home/login'>Login</a>\n"
  }
  </th1></div>


name: project-description
value:
  This project provides a Tcl Binding to the libyaml library found at http://pyyaml.org/wiki/LibYAML

  The sources of the current version of libyaml are included with the sources of the binding.

  The binding relies in critcl3 (See http://jcw.github.com/critcl/) for building.


# reportfmt

title: All Tickets
cols:
  #ffffff Key:
  #f2dcdc Active
  #e8e8e8 Review
  #cfe8bd Fixed
  #bde5d6 Tested
  #cacae5 Deferred
  #c8c8c8 Closed

sqlcode:
  SELECT
    CASE WHEN status IN ('Open','Verified') THEN '#f2dcdc'
         WHEN status='Review' THEN '#e8e8e8'
         WHEN status='Fixed' THEN '#cfe8bd'
         WHEN status='Tested' THEN '#bde5d6'
         WHEN status='Deferred' THEN '#cacae5'
         ELSE '#c8c8c8' END AS 'bgcolor',
    substr(tkt_uuid,1,10) AS '#',
    datetime(tkt_mtime) AS 'mtime',
    type,
    status,
    subsystem,
    title
  FROM ticket


# event

type: ci
user: andreask
comment:
  Added extraction and use of libyaml version. Added global commands, like version information. Added parser class outline (create/destroy).


type: ci
user: andreask
comment:
  Added define making libyaml build on windows. Otherwise yaml_parser_load causes a compiler error about dllimport/export.


type: ci
user: andreask
comment:
  Dropped the parser code as class/object. Replaced with a plain command which synchronously parses from a channel. Generatesd parse events are lifted into Tcl via callback (cmd prefix). Arguments are event type and a dictionary holding the event details.


type: ci
user: andreask
comment:
  Tweaked naming of events and command at C level. First draft of a Tcl layer taking events and converting to Tcl structures.


type: ci
user: andreask
comment:
  Added convenience command for processing files, and documentation, both internal and external, regarding the APIs used, especially event names and associated details.


type: ci
user: andreask
comment:
  Added readme, and modified the higher-levels to perform proper cleanup of resources (channel, parser object) in case of errors from the lower levels.


type: ci
user: andreask
comment:
  Tweaked naming in C level parser a bit. Moved the handling of style enums to global; added encode functions.


type: ci
user: andreask
comment:
  This revision of tclyaml requires critcl commit [f09fd4635121aac84edad53eafc3488cbac50be5] to build.


type: ci
user: andreask
comment:
  Fixed bug in structure-guided yaml writer core, sequence handling. Added writing of tagged data structures, the complement to generation of such on the reader side. Added a few tools to demo yaml reading and writing. Bumped to version 0.1.


type: ci
user: andreask
comment:
  Documentation. More notes regarding nesting of type specs. Code (standard converter, mappings). Changed the variable name for the type of values to be less obfuscated regarding its meaning and use.


type: ci
user: andreask
comment:
  Updated introduction and devguide, should be basically usable now. Regenerated embedded documentation.


type: ci
user: aku
comment:
  Moved style argument handling into custom argument types. Converted char* arguments to pstring where needed, to have access to both string and length. This necessitates the use of critcl 3.1.3.


type: ci
user: andreask
comment:
  Start to modernize and complete the code: Use kettle, newest critcl::class. Write docs, tests, benchmarks.


type: t
user: anonymous
brief: Ticket [cbf283d7a3]: 3 changes
comment:
  Ticket [cbf283d7a3] <i>Tar ball and zip file should have different SHA1 hashes</i> status still Open with 3 other changes


type: t
user: anonymous
brief: Ticket [cbf283d7a3]: 5 changes
comment:
  Ticket [cbf283d7a3] <i>Tar ball and zip file should have different SHA1 hashes</i> status still Open with 5 other changes


