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 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163
|
##
## wml::std::info - Page Information
## Copyright (c) 1997-2001 Ralf S. Engelschall, All Rights Reserved.
##
# The <preserve>/<restore> tags with multiple arguments require WML 2.0.3
#use wml::mod::version
<require 2.0.3 />
#use wml::std::tags
#use wml::sup::path
#
# The `info' tag
#
<define-tag info>\
<preserve style copyright created keywords description domainname />\
<set-var %attributes />\
<defvar style=comment />\
<defvar domainname "<get-var WML_GEN_HOSTNAME />" />\
<when <string-eq <get-var style /> comment />>\
<nostrip>\
<!--
<if <get-var copyright /> "Copyright (c) <get-var copyright />
" />\
Author: <get-var WML_SRC_REALNAME /> (<get-var WML_SRC_USERNAME />@<get-var domainname />)
Modified: <get-var WML_SRC_ISOTIME />.
<if <get-var created /> "Created: <get-var created />
" />\
Generated from ``<get-var WML_SRC_FILENAME />'' via WML <get-var WML_VERSION />.
by <get-var WML_GEN_REALNAME /> (<get-var WML_GEN_USERNAME />@<get-var domainname />)
on <get-var WML_GEN_ISOTIME />.
DO NOT EDIT THIS FILE DIRECTLY! INSTEAD EDIT ``<get-var WML_SRC_FILENAME />''.
-->\
</nostrip>\
</when>
<when <string-eq <get-var style /> table />>
<pre>
<when <get-var copyright />><b>Copyright:</b> © <get-var copyright />
</when>\
<b>Author:</b> <get-var WML_SRC_REALNAME /> \
<a href="mailto:<get-var WML_SRC_USERNAME />@<get-var domainname />">\
<<get-var WML_SRC_USERNAME />@<get-var domainname />>\
</a>
<b>Generator:</b> WML <get-var WML_VERSION />
<b>Modified:</b> <get-var WML_SRC_ISOTIME />
<when <get-var created />><b>Created:</b> <get-var created />
</when>\
</pre>
</when>
<when <string-eq <get-var style /> meta />>
<when <get-var copyright />><meta name="Copyright" content="<get-var copyright />" />
</when>\
<nostrip>\
<meta name="Author" content="<get-var WML_SRC_REALNAME />, <get-var WML_SRC_USERNAME />@<get-var domainname />" />
<meta name="Generator" content="WML <get-var WML_VERSION />" />
<meta name="Modified" content="<get-var WML_SRC_ISOTIME />" />
<when <get-var created />><meta name="Created" content="<get-var created />" />
</when>\
<when <get-var keywords />><meta name="Keywords" content="<get-var keywords />" />
</when>\
<when <get-var description />><meta name="Description" content="<get-var description />" />
</when>\
</nostrip>\
</when>
<when <string-eq <get-var style /> oneline />>
<when <get-var copyright />>Copyright © <get-var copyright /><br /></when>
Last modified by <get-var WML_GEN_REALNAME /> (<get-var WML_GEN_USERNAME />) on <get-var WML_GEN_ISOTIME /> via WML <get-var WML_VERSION />.
</when>
<restore style copyright created keywords description domainname />\
</define-tag>
#
# Insert a fully qualified URL for this document
#
<define-tag info:document-url>
<preserve baseurlvar basedirvar />
<set-var %attributes />
<defvar baseurlvar BASE_URL />
<defvar basedirvar BASE_DIR />
<perl>
{
my ($cwd, $baseurl, $basedir, $subdir, $page, $url);
# determine current working directory
$cwd = '<get-var WML_SRC_DIRNAME />';
# determine base URL
$baseurl = '<get-var <get-var baseurlvar /> />' || 'file://';
# determine base directory
$basedir = '<get-var <get-var basedirvar /> />'
|| '<get-var WML_SRC_DIRNAME />';
$basedir = canonpath("$cwd/$basedir") if ($basedir !~ m|^/|);
# determine subdir from base dir to current working dir
$subdir = &relpath($basedir, $cwd);
# determine page name
$page = '<get-var WML_SRC_BASENAME />' . '.html';
$page =~ s|^index\.html$||;
# construct final URL
$url = "$baseurl/$subdir/$page";
$url = &canonurl($url);
# replace this tag with the constructed URL
<perl:print: $url />
}
</perl>
<restore baseurlvar basedirvar />
</define-tag>
##EOF##
__END__
=head1 NAME
wml::std::info - Page Information
=head1 SYNOPSIS
#use wml::std::info
<info style={comment,table,meta,oneline} domainname="..."
copyright="..." created="..." keywords="..." description="...">
<info:document-url [baseurlvar=VARNAME] [basedirvar=VARNAME]>
=head1 DESCRIPTION
This include file provides the C<E<lt>infoE<gt>> tag to insert page
filename, author, copyright, generator (WML version) and modification time
information in various formats and styles.
Additionally it defines a C<E<lt>document-urlE<gt>> tag which inserts the
absolute URL of the generated page. This URL is constructed out of the URL
base given in the variables named C<BASE_URL> and C<BASE_DIR> (or the
specified one with attributes C<baseurlvar> and C<baseurldir>). Usually you
define these in your F<.wmlrc> file at the base directory of your WML page
area:
-D BASE_URL=http://www.mysite.dom/~myself
-D BASE_DIR~.
=head1 AUTHOR
Ralf S. Engelschall
rse@engelschall.com
www.engelschall.com
=head1 REQUIRES
Internal: P1, P2
External: --
=head1 SEE ALSO
wml(1)
=cut
|