freebsd-skq/usr.bin/xohtml/xohtml.sh
phil 11f8ca01b7 Import libxo-1.0.2
from 1.0.0:
    Add "continuation" flag, to allow multiple "xo" invocations in a single line of output (#58)
    Add --top-wrap to make top-level JSON wrappers
    Add --{open,close}-{list,instace} options
    Add xo_xml_leader(), to detect use of some bogus XML tags. It's still bad form, but it's a little safer now
    Avoid call to xo_write before xo_flush, since the latter calls the former
    Check return code from xo_flush_h properly (<0) (FreeBSD Bug 236935)
    For JSON output, avoid newline before a container's close brace (#62)
    Merge branch 'text_only' of https://github.com/zvr/libxo into zvr-text_only
    Use XO_USE_INT_RETURN_CODES, not USE_INT_RETURN_CODES
    add docs for --continuation
    add docs for --not-first
    call xo_state_set_flags before values and close containers; add XOIF_MADE_OUTPUT flag to track state; make proper empty JSON objects in xo_finish
    color_map code has to be #ifdef'd out, since the struct definition
    correct xo_flush_func_t (doesn't use xo_ssize_t)
    make depth change for --top-wrap only for JSON
    fix to handle --top-wrap in "xo" by being more consistent with handling trailing newlines
    fix to handle text-only version #64 (from zvr)
    fix xo_buf_has_room for round up to the next XO_BUFSIZ, not just add XO_BUFSIZ to the size (FreeBSD Bug 236937)
    update docs for new "xo" options
    update functions to use xo_ssize_t
    update test cases
from 1.0.1:
    Add EINTEGRITY to .pot files under test/gettext/ (fix from FreeBSD)
from 1.0.2:
    handle failure from xo_vnsprintf; don't add -1 to "rc"

PR:		236937, 236935
Submitted by:	phil
Reported by:	Alfonso S. Siciliano <alfix86@gmail.com>
MFC after:	2 weeks
2019-04-03 21:55:39 +00:00

88 lines
1.9 KiB
Bash
Executable File

#!/bin/sh
# $FreeBSD$
#!/bin/sh
#
# Copyright (c) 2014, Juniper Networks, Inc.
# All rights reserved.
# This SOFTWARE is licensed under the LICENSE provided in the
# ../Copyright file. By downloading, installing, copying, or otherwise
# using the SOFTWARE, you agree to be bound by the terms of that
# LICENSE.
# Phil Shafer, July 2014
#
BASE=/usr/share/libxo
VERSION=1.0.2
CMD=cat
DONE=
WEB=http://juniper.github.io/libxo/${VERSION}/xohtml
do_help () {
echo "xohtml: wrap libxo-enabled output in HTML"
echo "Usage: xohtml [options] [command [arguments]]"
echo "Valid options are:"
echo " -b <basepath> | --base <basepath>"
echo " -c <command> | --command <command>"
echo " -f <output-file> | --file <output-file>"
exit 1
}
while [ -z "$DONE" -a ! -z "$1" ]; do
case "$1" in
-b|--base)
shift;
BASE="$1";
shift;
;;
-c|--command)
shift;
CMD="$1";
shift;
;;
-f|--file)
shift;
FILE="$1";
shift;
exec > "$FILE";
;;
-w|--web)
shift;
BASE="${WEB}";
;;
-*)
do_help
;;
*)
DONE=1;
XX=$1;
shift;
CMD="$XX --libxo=html $@"
;;
esac
done
if [ "$CMD" = "cat" -a -t 0 ]; then
do_help
fi
echo '<html>'
echo '<head>'
echo '<meta http-equiv="content-type" content="text/html; charset=utf-8"/>'
echo '<link rel="stylesheet" href="'$BASE'/xohtml.css">'
echo '<link rel="stylesheet" href="'$BASE'/external/jquery.qtip.css"/>'
echo '<script type="text/javascript" src="'$BASE'/external/jquery.js"></script>'
echo '<script type="text/javascript" src="'$BASE'/external/jquery.qtip.js"></script>'
echo '<script type="text/javascript" src="'$BASE'/xohtml.js"></script>'
echo '<script>'
echo '</script>'
echo '</head>'
echo '<body>'
$CMD
echo '</body>'
echo '</html>'
exit 0