Skip to content
Snippets Groups Projects
Commit 3d88a409 authored by Fredrik Hübinette (Hubbe)'s avatar Fredrik Hübinette (Hubbe)
Browse files

lots of stuff fixed

Rev: tutorial/Wmml.pmod:1.3
Rev: tutorial/html.pike:1.4
Rev: tutorial/tutorial.wmml:1.23
parent 1f992460
No related branches found
No related tags found
No related merge requests found
...@@ -53,6 +53,15 @@ static private int verify_any(SGML data, string in) ...@@ -53,6 +53,15 @@ static private int verify_any(SGML data, string in)
case "strong": case "strong":
case "link": case "link":
case "man_nb":
case "class":
case "method":
case "man_description":
case "man_see":
case "man_syntax":
case "man_bugs":
case "man_example":
case "ex_identifier": case "ex_identifier":
case "ex_keyword": case "ex_keyword":
case "ex_string": case "ex_string":
......
...@@ -223,8 +223,15 @@ SGML index_to_wmml(INDEX data) ...@@ -223,8 +223,15 @@ SGML index_to_wmml(INDEX data)
}); });
} }
string name_to_link(string x)
{
return replace(x,"->",".");
}
int cpos; int cpos;
string classbase;
SGML wmml_to_html(SGML data); SGML wmml_to_html(SGML data);
/* Partially destructive! */ /* Partially destructive! */
...@@ -248,6 +255,116 @@ SGML convert(SGML data) ...@@ -248,6 +255,116 @@ SGML convert(SGML data)
data->params->size="1"; data->params->size="1";
break; break;
case "class":
{
string tmp=classbase;
if(!classbase || classbase=="")
{
classbase=data->params->name;
}else{
classbase+="."+data->params->name;
}
ret+=convert(data->data);
classbase=tmp;
continue;
}
case "man_title":
ret+=convert(({
Sgml.Tag("p"),
"\n",
Sgml.Tag("dt"),
Sgml.Tag("encaps",([]),data->pos, data->data),
Sgml.Tag("dd"),
"\n"
}));
continue;
case "method":
{
string fullname=classbase+"->"+data->params->name;
ret+=convert(({
Sgml.Tag("anchor",(["name":name_to_link(fullname)]),data->pos,
({
Sgml.Tag("dl",([]),data->pos,
({
Sgml.Tag("man_title",([]),data->pos,({"METHOD"})),
Sgml.Tag("tt",([]),data->pos,({fullname})),
" - ",
data->params->title,
"\n",
})
+
data->data
)
})),
"\n",
Sgml.Tag("hr"),
}));
continue;
}
case "man_syntax":
ret+=convert(
({
Sgml.Tag("man_title",([]),data->pos,({"SYNTAX"})),
Sgml.Tag("tt",([]),data->pos,data->data)
}));
continue;
case "man_example":
ret+=convert(
({
Sgml.Tag("man_title",([]),data->pos,({"EXAMPLE"})),
Sgml.Tag("tt",([]),data->pos,data->data)
}));
continue;
case "man_nb":
ret+=convert(
({
Sgml.Tag("man_title",([]),data->pos,({"NOTA BENE"})),
})+data->data);
continue;
case "man_bugs":
ret+=convert(
({
Sgml.Tag("man_title",([]),data->pos,({"BUGS"})),
})+data->data);
continue;
case "man_description":
ret+=convert(
({
Sgml.Tag("man_title",([]),data->pos,({"DESCRIPTION"})),
})+data->data);
continue;
case "man_see":
{
ret+=convert( ({
Sgml.Tag("man_title",([]),data->pos,({"SEE ALSO"}))
}));
SGML tmp=({});
foreach(replace(data->data[0],({" ","\n"}),({"",""}))/",",string name)
{
tmp+=({
Sgml.Tag("link",(["to":name_to_link(name)]),data->pos,
({
Sgml.Tag("tt",([]),data->pos,({name})),
})),
", "
});
}
tmp[-1]="";
if(sizeof(tmp)>3) tmp[-3]=" and ";
ret+=convert(tmp);
continue;
}
case "link": case "link":
{ {
data->tag="a"; data->tag="a";
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment