logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

hxincl - expand included HTML or XML files

Bugs

       Assumes UTF-8 as input. Doesn't expand character entities. Instead pipe the input through hxunent(1)  and
       asc2xml(1) to convert it to UTF-8.

       Remote  files  (specified  with a URL) are currently only supported for HTTP. Password-protected files or
       files that depend on HTTP "cookies" are not handled. (You can use tools such as  curl(1)  or  wget(1)  to
       retrieve such files.)

Description

       Without -M, the hxincl command copies an HTML or XML file to standard output, looking for comments with a
       certain  structure.   Such  a comment is replaced by the file whose name is given as the attribute of the
       directive. For example:

           ...<!-- include "foo.html" -->...

       will be replaced by the content of the file foo.html.

       The comment is replaced by

           <!-- begin-include "foo.html" -->

       before the included text and

           <!-- end-include "foo.html" -->

       after it. These comments make it possible to run hxincl  on  the  resulting  file  again  to  update  the
       inclusions.

       Single  quotes  are allowed instead of double quotes. And if the file name contains no spaces, the quotes
       may also be omitted.

       With -M, the hxincl command outputs a line of dependencies that is suitable for inclusion in a  Makefile.
       The  target  is the target of the Makefile rule and hxincl will list after the ':' all the files that are
       included, recursively. E.g., the result of

           hxincl -M myfile.html inputfile

       might be

           myfile.html: foo.html bar.html

Environment

       To  use  a  proxy to retrieve remote files, set the environment variables http_proxy or ftp_proxy.  E.g.,
       http_proxy="http://localhost:8080/"

Exit Status

       The following exit values are returned:

       0         Successful completion.

       >0       An error occurred in the parsing of one of the HTML or XML files.

Name

       hxincl - expand included HTML or XML files

Operands

       The following operand is supported:

       file-or-URL
                 The name of an HTML or XML file or the URL of one. If absent, standard input is read instead.

Options

       The following options are supported:

       -x        Use XML conventions: empty elements are written with a slash at the end: <IMG />.

       -bbase   Sets the base URL for resolving relative URLs. By default the file given  as  argument  is  the
                 base URL.

       -f        Removes  the  comments  after  including  the  files.  This  means  hxincl cannot be run on the
                 resulting file later to update the inclusions.  (Mnemonic: final or frozen.)

       -sname=substitution
                 Include a different file than the one mentioned in the directive. If the comment is

                     <!-- include "name" -->

                 the file substitution is included instead. And if the file  name  in  the  comment  includes  a
                 variable called name delimited by %, e.g.,

                     <!-- include "xxx-%name%" -->

                 then  %name%  is  replaced  by substitution and thus the file xxx-substitution is included. The
                 option -s may occur multiple times. %-delimited variables are expanded  recursively,  i.e.,  if
                 the  substitution  text  contains  a variable, that variable is expanded, too. E.g., if the two
                 options -sname=%p1%.rrr and -sp1=subst are given, then the "xxx-%name%" will expand to  "xxx-
                 subst.rrr".

       -Mtarget Instead  of outputting the input file with all inclusions expanded, output just the list of all
                 files that the input includes, recursively, in the form of  a  rule  that  is  suitable  for  a
                 Makefile. The target is printed as the target of that rule.

       -G        Suppress error messages if a file to include cannot be found. (Only with -M.)

See Also

asc2xml(1), hxnormalize(1), hxnum(1), hxprune(1), hxtoc(1), hxunent(1), xml2asc(1), UTF-8 (RFC 2279)

7.x                                                10 Jul 2011                                         HXINCL(1)

Synopsis

hxincl [ -x ] [ -f ] [ -sname=subst ] [ -sname=subst ]...  [ -bbase ] [ file-or-URL ]

       hxincl-Mtarget [ -sname=subst ] [ -sname=subst ]...  [ -bbase ] [ -G ] [ file-or-URL ]

See Also