- updated to 2.11 see /usr/share/doc/packages/perl-HTML-Strip/Changes 2.11 Tue 14 Mar 2023 13:18:29 EET - fix public VSC info for MetaCPAN (RT#115740) - add option to emit newlines for <br> and <p> tags (patch by Ryan Schmidt, contributed by Jason McIntosh) - installation / complilation bug on macOS (RT#134342) (patch contributed by Lucas Kanashiro) - spelling correction (RT#115740) (patch contributed by Florian Weimer) - improved C99 compatibility with utf8_char_width prototype (RT#146734) (contributed by Gabor Szabo) - htmlstrip command-line tool OBS-URL: https://build.opensuse.org/request/show/1072071 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-HTML-Strip?expand=0&rev=6
101 lines
3.4 KiB
RPMSpec
101 lines
3.4 KiB
RPMSpec
#
|
|
# spec file for package perl-HTML-Strip
|
|
#
|
|
# Copyright (c) 2023 SUSE LLC
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%define cpan_name HTML-Strip
|
|
Name: perl-HTML-Strip
|
|
Version: 2.11
|
|
Release: 0
|
|
License: Artistic-1.0 OR GPL-1.0-or-later
|
|
Summary: Perl extension for stripping HTML markup from text
|
|
URL: https://metacpan.org/release/%{cpan_name}
|
|
Source0: https://cpan.metacpan.org/authors/id/K/KI/KILINRAX/%{cpan_name}-%{version}.tar.gz
|
|
Source1: cpanspec.yml
|
|
BuildRequires: perl
|
|
BuildRequires: perl-macros
|
|
BuildRequires: perl(Test::Exception)
|
|
Requires: perl(Test::Exception)
|
|
%{perl_requires}
|
|
|
|
%description
|
|
This module simply strips HTML-like markup from text rapidly and brutally.
|
|
It could easily be used to strip XML or SGML markup instead - but as
|
|
removing HTML is a much more common problem, this module lives in the
|
|
HTML:: namespace.
|
|
|
|
It is written in XS, and thus about five times quicker than using regular
|
|
expressions for the same task.
|
|
|
|
It does _not_ do any syntax checking. If you want that, use HTML::Parser.
|
|
Instead it merely applies the following rules:
|
|
|
|
* 1
|
|
|
|
Anything that looks like a tag, or group of tags will be replaced with a
|
|
single space character. Tags are considered to be anything that starts with
|
|
a '<' and ends with a '>'; with the caveat that a '>' character may appear
|
|
in either of the following without ending the tag:
|
|
|
|
* Quote
|
|
|
|
Quotes are considered to start with either a ''' or a '"' character, and
|
|
end with a matching character _not_ preceded by an even number or escaping
|
|
slashes (i.e. '\"' does not end the quote but '\\\\"' does).
|
|
|
|
* Comment
|
|
|
|
If the tag starts with an exclamation mark, it is assumed to be a
|
|
declaration or a comment. Within such tags, '>' characters do not end the
|
|
tag if they appear within pairs of double dashes (e.g. '<!-- <a
|
|
href="old.htm">old page</a> -->' would be stripped completely). No parsing
|
|
for quotes is performed within comments, so for instance '<!-- comment with
|
|
both ' quote types " -->' would be entirely stripped.
|
|
|
|
* 2
|
|
|
|
Anything that appears between tags which we term _strip tags_ is removed.
|
|
By default, these tags are 'title', 'script', 'style' and 'applet'.
|
|
|
|
HTML::Strip maintains state between calls, so you can parse a document in
|
|
chunks should you wish. If a call to 'parse()' ends half-way through a tag,
|
|
quote or comment; the next call to 'parse()' expects its input to carry on
|
|
from that point.
|
|
|
|
If this is not the behaviour you want, you can either call 'eof()' between
|
|
calls to 'parse()', or set 'auto_reset' to true (either on the constructor
|
|
or with 'set_auto_reset') so that the parser will reset after each call.
|
|
|
|
%prep
|
|
%autosetup -n %{cpan_name}-%{version}
|
|
|
|
%build
|
|
perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"
|
|
%make_build
|
|
|
|
%check
|
|
make test
|
|
|
|
%install
|
|
%perl_make_install
|
|
%perl_process_packlist
|
|
%perl_gen_filelist
|
|
|
|
%files -f %{name}.files
|
|
%doc Changes README
|
|
|
|
%changelog
|