Spaces:
Running
Running
.Dd April 5, 2016 | |
.Dt he 1 | |
.Sh NAME | |
.Nm he | |
.Nd encode/decode HTML entities just like a browser would | |
.Sh SYNOPSIS | |
.Nm | |
.Op Fl -escape Ar string | |
.br | |
.Op Fl -encode Ar string | |
.br | |
.Op Fl -encode Fl -use-named-refs Fl -everything Fl -allow-unsafe Ar string | |
.br | |
.Op Fl -decode Ar string | |
.br | |
.Op Fl -decode Fl -attribute Ar string | |
.br | |
.Op Fl -decode Fl -strict Ar string | |
.br | |
.Op Fl v | -version | |
.br | |
.Op Fl h | -help | |
.Sh DESCRIPTION | |
.Nm | |
encodes/decodes HTML entities in strings just like a browser would. | |
.Sh OPTIONS | |
.Bl -ohang -offset | |
.It Sy "--escape" | |
Take a string of text and escape it for use in text contexts in XML or HTML documents. Only the following characters are escaped: `&`, `<`, `>`, `"`, and `'`. | |
.It Sy "--encode" | |
Take a string of text and encode any symbols that aren't printable ASCII symbols and that can be replaced with character references. For example, it would turn `©` into `©`, but it wouldn't turn `+` into `+` since there is no point in doing so. Additionally, it replaces any remaining non-ASCII symbols with a hexadecimal escape sequence (e.g. `𝌆`). The return value of this function is always valid HTML. | |
.It Sy "--encode --use-named-refs" | |
Enable the use of named character references (like `©`) in the output. If compatibility with older browsers is a concern, don't use this option. | |
.It Sy "--encode --everything" | |
Encode every symbol in the input string, even safe printable ASCII symbols. | |
.It Sy "--encode --allow-unsafe" | |
Encode non-ASCII characters only. This leaves unsafe HTML/XML symbols like `&`, `<`, `>`, `"`, and `'` intact. | |
.It Sy "--encode --decimal" | |
Use decimal digits rather than hexadecimal digits for encoded character references, e.g. output `©` instead of `©`. | |
.It Sy "--decode" | |
Takes a string of HTML and decode any named and numerical character references in it using the algorithm described in the HTML spec. | |
.It Sy "--decode --attribute" | |
Parse the input as if it was an HTML attribute value rather than a string in an HTML text content. | |
.It Sy "--decode --strict" | |
Throw an error if an invalid character reference is encountered. | |
.It Sy "-v, --version" | |
Print he's version. | |
.It Sy "-h, --help" | |
Show the help screen. | |
.El | |
.Sh EXIT STATUS | |
The | |
.Nm he | |
utility exits with one of the following values: | |
.Pp | |
.Bl -tag -width flag -compact | |
.It Li 0 | |
.Nm | |
did what it was instructed to do successfully; either it encoded/decoded the input and printed the result, or it printed the version or usage message. | |
.It Li 1 | |
.Nm | |
encountered an error. | |
.El | |
.Sh EXAMPLES | |
.Bl -ohang -offset | |
.It Sy "he --escape '<script>alert(1)</script>'" | |
Print an escaped version of the given string that is safe for use in HTML text contexts, escaping only `&`, `<`, `>`, `"`, and `'`. | |
.It Sy "he --decode '©𝌆'" | |
Print the decoded version of the given HTML string. | |
.It Sy "echo\ '©𝌆'\ |\ he --decode" | |
Print the decoded version of the HTML string that gets piped in. | |
.El | |
.Sh BUGS | |
he's bug tracker is located at <https://github.com/mathiasbynens/he/issues>. | |
.Sh AUTHOR | |
Mathias Bynens <https://mathiasbynens.be/> | |
.Sh WWW | |
<https://mths.be/he> | |