new object $pueblo_format: $html_format; var $root created_on = 862777021; var $root flags = ['variables, 'methods, 'code, 'core]; var $root inited = 1; var $root managed = [$pueblo_format]; var $root manager = $pueblo_format; public method .do_dd() { arg vars, flags, args; return $plain_format.do_dd(vars, flags, args); }; public method .do_detail() { arg vars, flags, args; var det; det = flags.getkey("name"); return [((((((("<a href=\"" + (vars['base_url])) + "/bin/describe?target=") + ((vars['this]).objname())) + "&detail=") + ($http.encode(det))) + "\">") + det) + "</a></b>", vars]; }; public method .do_dl() { arg vars, flags, args; [args, vars] = $plain_format.do_dl(vars, flags, args); return [("<pre>" + args) + "</pre>", vars]; }; public method .do_dt() { arg vars, flags, args; return $plain_format.do_dt(vars, flags, args); }; public method .do_img() { arg vars, flags, args; var src, html, alt; src = flags.getkey("src"); alt = (| ("alt=\"" + (flags.getkey("alt"))) + "\"" |) || ""; if (!match_regexp(src, "^(http|ftp):")) src = (vars['base_url]) + src; return [((("<img src=\"" + src) + "\" align=left hspace=10 ") + alt) + ">", vars]; }; public method .do_link() { arg vars, flags, args; var node; [args, vars] = ._eval_ctext([args[1]], vars); node = (| flags.getkey("node") |); if (node) return [((("<a xch_cmd=\"@help " + node) + "\">") + args) + "</a>", vars]; return [">>ERROR: Invalid node<<", vars]; }; public method .do_obj() { arg vars, flags, args; var gateway, argname, output, context, object, name, options; name = flags.getkey("name"); [name, vars] = ._eval_ctext([name], vars); context = flags.getkey("context"); options = (| flags.getkey("options") |); object = args[1]; if (type(context) == 'string) context = tosym(context); if (options && (type(options) == 'string)) options = tosym(options); switch (context) { case 'look: if (options) { switch (options) { case 'exit: output = [((("<a xch_cmd=\"go " + (object.name('noarticle))) + "\">") + name) + "</a>", vars]; case 'contained: output = [((((("<a xch_cmd=\"look " + ((object.location()).name('noarticle))) + "'s ") + (object.name('noarticle))) + "\">") + name) + "</a>", vars]; } } else { output = [((("<a xch_cmd=\"look " + (object.name('noarticle))) + "\">") + name) + "</a>", vars]; } case 'display: [gateway, argname] = ["display", "target"]; case 'exit: output = [((("<a xch_cmd=\"go " + (object.name())) + "\">") + name) + "</a>", vars]; } if (output) return output; return [((((((((("<a href=\"" + (vars['base_url])) + "/bin/") + gateway) + "?") + argname) + "=") + tostr(object)) + "\">") + name) + "</a>", vars]; }; public method .do_table() { arg vars, flags, args; [args, vars] = $plain_format.do_table(vars, flags, args); return [("<pre>" + args) + "</pre>", vars]; }; public method .do_td() { arg vars, flags, args; return $plain_format.do_td(vars, flags, args); }; public method .do_tr() { arg vars, flags, args; return $plain_format.do_tr(vars, flags, args); }; public method .format() { arg data, vars; var str, len, line, out, base, port; base = "http://" + ($dns.hostname("")); port = $http_daemon.current_port(); if (port != 80) base += ":" + port; vars = dict_add(vars, 'base_url, base); str = (> (._eval_ctext(data, vars))[1] <); if ((strlen(str) < 2) || (substr(str, strlen(str) - 1) != "\n")) str += "\n"; return str_to_buf(str + "\n"); }; public method .init() { return #[['width, 78]]; };