pike.git / lib / modules / Tools.pmod / Standalone.pmod / autodoc_to_html.pike

version» Context lines:

pike.git/lib/modules/Tools.pmod/Standalone.pmod/autodoc_to_html.pike:78:   }      Position position = Position();      string quote(string in) {    if(in-" "-"\t"=="") return "";    if(String.trim_all_whites(in)=="") return "\n";    return Parser.XML.Tree.text_quote(in);   }    + string render_tag(string tag, mapping(string:string) attrs, int|void term) + { +  string res = "<" + tag; +  foreach(sort(indices(attrs)), string attr) { +  res += " " + attr + "='" + attrs[attr] + "'"; +  } +  if (term) res += " /"; +  return res + ">"; + } +    Node get_first_element(Node n) {    foreach(n->get_children(), Node c)    if(c->get_node_type()==XML_ELEMENT) {    if(c->get_any_name()!="source-position")    return c;    else    position->update(c);    }    error( "Node had no element child.\n" );   }
pike.git/lib/modules/Tools.pmod/Standalone.pmod/autodoc_to_html.pike:597:    build_box(c, ret, "group", "index",    lambda(Node n) {    return "<font color='green'>" +    parse_text(n->get_first_element("value")) + "</font>";    } );    break;       case "image": // Not in XSLT    mapping m = c->get_attributes();    m->src = image_prefix() + m_delete(m, "file"); -  ret->add( sprintf("<img%{ %s='%s'%} />", (array)m) ); +  ret->add( render_tag("img", m, 1) );    break;       case "url": // Not in XSLT    if((c->count_children()!=1 && c->get_node_type()!=XML_ELEMENT) &&    ((flags & (Tools.AutoDoc.FLAG_KEEP_GOING|Tools.AutoDoc.FLAG_DEBUG)) ==    Tools.AutoDoc.FLAG_DEBUG)) {    error( "url node has not one child. %O\n", c->html_of_node() );    }    m = c->get_attributes();    if(!m->href)    m->href=c->value_of_node(); -  ret->add( sprintf("<a%{ %s='%s'%}>%s</a>", -  (array)m, c->value_of_node()) ); +  ret->add( sprintf("%s%s</a>", render_tag("a", m), c->value_of_node()) );    break;       case "section":    if(section && !(flags & Tools.AutoDoc.FLAG_KEEP_GOING))    error("Section inside section.\n");    ret->add ("<h2>", quote (c->get_attributes()->title ||    // The following for bug compat.    c->get_attributes()->name),    "</h2>\n");    if (!equal (c->get_children()->get_any_name(), ({"text"})) &&
pike.git/lib/modules/Tools.pmod/Standalone.pmod/autodoc_to_html.pike:673:    break;       case "fixme":    ret->add("<font color='red'>FIXME: ");    parse_text(c, ret);    ret->add("</font>");    break;       // Not really allowed    case "br": -  ret->add( sprintf("<%s%{ %s='%s'%} />", c->get_any_name(), (array)c->get_attributes()) ); +  ret->add( render_tag(c->get_any_name(), c->get_attributes(), 1) );    break;    case "table":    case "td":    case "tr":    case "th": -  ret->add( sprintf("<%s%{ %s='%s'%}>%s</%s>", -  c->get_any_name(), (array)c->get_attributes(), +  ret->add( sprintf("%s%s</%s>", +  render_tag(c->get_any_name(), c->get_attributes()),    parse_text(c), c->get_any_name()) );    break;       default:    if (verbosity >= Tools.AutoDoc.FLAG_DEBUG) {    werror("\n%s\n", (string)c);    error( "Illegal element \"" + name + "\" in mode text.\n" );    }    break;    }