Register an HTML head resource. About is either an atom that
specifies an HTTP location or a term Alias(Sub). This works similar to absolute_file_name/2.
See http:location_path/2 for details.
Recognised properties are:
- requires(+Requirements)
- Other required script and css files. If this is a plain file name, it is
interpreted relative to the declared resource. Requirements
can be a list, which is equivalent to multiple requires properties.
- virtual(+Bool)
- If
true
(default false
), do not include About
itself, but only its dependencies. This allows for defining an alias for
one or more resources.
- ordered(+Bool)
- Defines that the list of requirements is ordered, which means that each
requirement in the list depends on its predecessor.
- aggregate(+List)
- States that About is an aggregate of the resources in
List. This means that if both About and one of the
elements of List appears in the dependencies, About
is kept and the smaller one is dropped. If there are a number of
dependencies on the small members, these are replaced with dependency on
the big (aggregate) one, for example, to specify that a big javascript
is actually the composition of a number of smaller ones.
- mime_type(-Mime)
- May be specified for non-virtual resources to specify the mime-type of
the resource. By default, the mime type is derived from the file name
using
file_mime_type/2.
Registering the same About multiple times extends the
properties defined for About. In particular, this allows for
adding additional dependencies to a (virtual) resource.
Hook called to include a link to an HTML resource of type Mime
into the HTML head. The Mime type is computed from Path
using
file_mime_type/2. If the hook fails, two
built-in rules for
text/css
and text/javascript
are tried. For
example, to include a =.pl= files as a Prolog script, use:
:- multifile
html_head:mime_include//2.
html_head:mime_include(text/'x-prolog', Path) --> !,
html(script([ type('text/x-prolog'),
src(Path)
], [])).