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]];
};