-
Notifications
You must be signed in to change notification settings - Fork 40
/
hthtml.perl
100 lines (91 loc) · 2.27 KB
/
hthtml.perl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#
# -*-perl-*-
# $Id: hthtml.perl,v 1.1 1996/12/21 19:54:08 JCL Exp $
#
package main;
#
print "Extended interface for LaTeX2HTML, v1.1, 7.11.96\n";
#
# \htlink: a replacement for \htmladdnormallinkfoot which allows
# ~ and _ in the url.
#
# \htlink <text> <url>
#
sub do_cmd_htlink{
local($_) = @_;
local($text, $url);
s/$next_pair_pr_rx/$text = $2; ''/eo;
s/$next_pair_pr_rx/$url = $2; ''/eo;
# and recode the ~ (don't turn it to space)
$url =~ s/~/~/go;
join('',"<A HREF=\"$url\">$text</A>",$_);
}
#
# \hturl: give an url directly (anchor and text are the same).
#
# \hturl <url>
#
sub do_cmd_hturl{
local($_) = @_;
local($url);
s/$next_pair_pr_rx/$url = $2; ''/eo;
# and recode the ~ (don't turn it to space)
$url =~ s/~/~/go;
join('',"<A HREF=\"$url\">$url</A>",$_);
}
#
# Now, do some special urls:
#
sub do_cmd_htmailto{
local($_) = @_;
local($url);
s/$next_pair_pr_rx/$url = $2; ''/eo;
join('',"<A HREF=\"mailto:$url\">$url</A>",$_);
}
sub do_env_htdescription{
&do_env_description;
}
# Offer the possibility to change the configuration
sub do_cmd_htsetvar {
local($_) = @_;
local($var, $val);
s/$next_pair_pr_rx/$var = $2; ''/eo;
s/$next_pair_pr_rx/$val = $2; ''/eo;
$val = &revert_to_raw_tex($val);
eval "\$$var = $val";
$_;
}
sub do_cmd_htchar {
local($_) = @_;
local($val);
s/$next_pair_pr_rx/$val = $2; ''/eo;
join('',"&#$val;",$_);
}
#
# \htaddress <text>
# Set <text> as an address.
#
sub do_cmd_htaddress {
local($_) = @_;
local($text);
s/$next_pair_pr_rx/$text = $2; ''/eo;
join('',"<ADDRESS>$text</ADDRESS>",$_);
}
sub do_cmd_htmetainfo {
local($_) = @_;
local($var, $val);
s/$next_pair_pr_rx/$var = $2; ''/eo;
s/$next_pair_pr_rx/$val = $2; ''/eo;
$htmetainfo = "$htmetainfo<META NAME=\"$var\" CONTENT=\"$val\">\n";
$_;
}
# Replace `meta_information' in latex2html.config
sub meta_information {
local($_) = @_;
# Cannot have nested HTML tags...
do { s/<[^>]*>//g;
"<META NAME=\"description\" CONTENT=\"$_\">\n" .
"<META NAME=\"resource-type\" CONTENT=\"document\">\n" .
"<META NAME=\"distribution\" CONTENT=\"global\">\n$htmetainfo" } if $_;
}
1; # This must be the last line