diff --git a/docs/design.html b/docs/design.html
index 4be231ee..3865a7fb 100644
--- a/docs/design.html
+++ b/docs/design.html
@@ -1,7 +1,6 @@
Irssi’s hierarchy is something like this:
+Irssi’s hierarchy is something like this:
sub1 sub2
diff --git a/docs/faq.html b/docs/faq.html
index 70e90bb5..7c17f45d 100644
--- a/docs/faq.html
+++ b/docs/faq.html
@@ -1,7 +1,6 @@
Frequently Asked Questions
-
-Q: Why doesn’t irssi display colors even when ircii etc. displays them?
+ Q: Why doesn’t irssi display colors even when ircii etc. displays them?
A: They force ANSI colors even if terminal doesn’t support them. By default, irssi uses colors only if terminfo/termcap so says. The correct way to fix this would be to change your TERM environment to a value where colors work, like xterm-color or color_xterm (eg. TERM=xterm-color irssi
). If this doesn’t help, then use the evil way of /SET term_force_colors ON
.
@@ -55,7 +54,7 @@
Q: Will there be /DETACH-like feature?
-A: tmux, screen and dtach can be used to do it just fine.
+A: tmux, screen and dtach can be used to do it just fine.
Q: How do I run scripts automatically at startup?
@@ -71,7 +70,7 @@
Q: How can I have /WHOIS replies to active window?
-A: You can disable the status window, or do /WINDOW LEVEL -CRAP
in it which would also make several other messages show up in active window. You can also use a script.
+A: You can disable the status window, or do /WINDOW LEVEL -CRAP
in it which would also make several other messages show up in active window. You can also use a script.
Q: How do I add the active network to the statusbar
diff --git a/docs/faq.txt b/docs/faq.txt
index 719fbb9a..0d0b5f46 100644
--- a/docs/faq.txt
+++ b/docs/faq.txt
@@ -117,8 +117,8 @@ A: Check [6]here
References:
[1] https://github.com/irssi-import/xirssi
- [2] http://tmux.github.io/
- [3] http://www.gnu.org/software/screen/screen.html
+ [2] https://tmux.github.io/
+ [3] https://www.gnu.org/software/screen/screen.html
[4] http://dtach.sf.net/
- [5] http://dgl.cx/irssi/hack-whois-in-current-window.pl
+ [5] https://dgl.cx/irssi/hack-whois-in-current-window.pl
[6] https://irssi.org/assets/irssi.wav
diff --git a/docs/startup-HOWTO.html b/docs/startup-HOWTO.html
index 36d8edbf..48f6e6df 100644
--- a/docs/startup-HOWTO.html
+++ b/docs/startup-HOWTO.html
@@ -1,9 +1,8 @@
Startup How-To
+ To new Irssi users (not to new IRC users ..)
-To new Irssi users (not to new IRC users ..)
-
-Copyright (c) 2000-2002 by Timo Sirainen, release under GNU FDL 1.1 license.
+Copyright (c) 2000-2002 by Timo Sirainen, release under GNU FDL 1.1 license.
Index with some FAQ questions that are answered in the chapter:
@@ -161,7 +160,7 @@ Ctrl-P, Ctrl-N - Jump to previous / next window
Split windows and window items
-Note: this guide might be a better introduction to window splits
+Note: this guide might be a better introduction to window splits
Irssi also supports split windows, they’ve had some problems in past but I think they should work pretty well now :) Here’s some commands related to them:
@@ -516,7 +515,7 @@ Ctrl-X - set the next server in list active
SOCKS
-Irssi can be compiled with socks support (\--with-socks
option to configure), which requires “dante” and routes all connections through the proxy specified in the system-wide /etc/socks.conf. This method is known to have issues in Mac OS X.
+Irssi can be compiled with socks support (--with-socks
option to configure), which requires “dante” and routes all connections through the proxy specified in the system-wide /etc/socks.conf. This method is known to have issues in Mac OS X.
Note that /SET proxy
settings don’t have anything to do with socks.
diff --git a/docs/startup-HOWTO.txt b/docs/startup-HOWTO.txt
index ecfe7ad8..61de27e3 100644
--- a/docs/startup-HOWTO.txt
+++ b/docs/startup-HOWTO.txt
@@ -578,7 +578,7 @@ Irssi proxy works fine with other IRC clients as well.
SOCKS
-Irssi can be compiled with socks support (\--with-socks option to configure),
+Irssi can be compiled with socks support (--with-socks option to configure),
which requires “dante” and routes all connections through the proxy specified
in the system-wide /etc/socks.conf. This method is known to have issues in Mac
OS X.
@@ -792,8 +792,8 @@ ADD -before act mail.
References:
-[1] http://www.gnu.org/licenses/fdl.html
+[1] https://www.gnu.org/licenses/fdl.html
[2] https://www.iterm2.com/
-[3] http://quadpoint.org/articles/irssisplit/
+[3] https://quadpoint.org/articles/irssisplit/
[4] https://github.com/rofl0r/proxychains-ng
[5] https://irssi.org/documentation/settings/
diff --git a/scripts/scriptassist.pl b/scripts/scriptassist.pl
index 68708945..536ef33a 100644
--- a/scripts/scriptassist.pl
+++ b/scripts/scriptassist.pl
@@ -5,22 +5,22 @@
use strict;
-our $VERSION = '2003020806';
+our $VERSION = '2003020807';
our %IRSSI = (
authors => 'Stefan \'tommie\' Tomanek',
contact => 'stefan@pico.ruhr.de',
name => 'scriptassist',
description => 'keeps your scripts on the cutting edge',
license => 'GPLv2',
- url => 'http://irssi.org/scripts/',
- modules => 'Data::Dumper LWP::UserAgent (GnuPG)',
+ url => 'https://scripts.irssi.org/',
+ modules => 'CPAN::Meta::YAML LWP::Protocol::https (GnuPG)',
commands => "scriptassist"
);
our ($forked, %remote_db, $have_gpg, @complist);
use Irssi 20020324;
-use Data::Dumper;
+use CPAN::Meta::YAML;
use LWP::UserAgent;
use POSIX;
@@ -170,14 +170,13 @@ sub bg_do {
my $cmd = $items[1];
$result{data}{unknown}{$cmd} = get_unknown($cmd, $xml);
}
- my $dumper = Data::Dumper->new([\%result]);
- $dumper->Purity(1)->Deepcopy(1)->Indent(0);
- my $data = $dumper->Dump;
+ my $yaml = CPAN::Meta::YAML->new(\%result);
+ my $data = $yaml->write_string();
print($wh $data);
};
if ($@) {
- print($wh Data::Dumper->new([+{data=>+{error=>$@}}])
- ->Purity(1)->Deepcopy(1)->Indent(0)->Dump);
+ print($wh CPAN::Meta::YAML->new(+{data=>+{error=>$@}})
+ ->write_string());
}
close($wh);
POSIX::_exit(1);
@@ -313,7 +312,7 @@ sub get_new {
my ($num) = @_;
my $result;
my $xml = get_scripts();
- foreach (sort {$xml->{$b}{last_modified} cmp $xml->{$a}{last_modified}} keys %$xml) {
+ foreach (sort {$xml->{$b}{modified} cmp $xml->{$a}{modified}} keys %$xml) {
my %entry = %{ $xml->{$_} };
next if $entry{HIDDEN};
$result->{$_} = \%entry;
@@ -427,8 +426,8 @@ sub pipe_input {
print CLIENTCRAP "%R<<%n Something weird happend (no text)";
return();
}
- local our $VAR1;
- my $incoming = eval($text);
+ utf8::decode($text);
+ my $incoming = CPAN::Meta::YAML->read_string($text)->[0];
if ($incoming->{db} && $incoming->{timestamp}) {
$remote_db{db} = $incoming->{db};
$remote_db{timestamp} = $incoming->{timestamp};
@@ -628,7 +627,7 @@ sub print_ratings {
sub print_new {
my ($list) = @_;
my @table;
- foreach (sort {$list->{$b}{last_modified} cmp $list->{$a}{last_modified}} keys %$list) {
+ foreach (sort {$list->{$b}{modified} cmp $list->{$a}{modified}} keys %$list) {
my @line;
my ($name) = get_names($_);
if (get_local_version($name)) {
@@ -637,7 +636,7 @@ sub print_new {
push @line, "%yo%n";
}
push @line, "%9".$name."%9";
- push @line, $list->{$_}{last_modified};
+ push @line, $list->{$_}{modified};
push @table, \@line;
}
print CLIENTCRAP draw_box('ScriptAssist', array2table(@table), 'new scripts', 1) ;
@@ -822,7 +821,7 @@ sub contact_author {
sub get_scripts {
my $ua = LWP::UserAgent->new(env_proxy=>1, keep_alive=>1, timeout=>30);
- $ua->agent('ScriptAssist/'.2003020803);
+ $ua->agent('ScriptAssist/'.$VERSION);
$ua->env_proxy();
my @mirrors = split(/ /, Irssi::settings_get_str('scriptassist_script_sources'));
my %sites_db;
@@ -852,22 +851,25 @@ sub get_scripts {
$type = $2;
}
push @sources, $src;
- #my @header = ('name', 'contact', 'authors', 'description', 'version', 'modules', 'last_modified');
+ #my @header = ('name', 'contact', 'authors', 'description', 'version', 'modules', 'modified');
if ($type eq 'dmp') {
- no strict 'vars';
- my $new_db = eval "$data";
- foreach (keys %$new_db) {
- if (defined $sites_db{script}{$_}) {
- my $old = $sites_db{$_}{version};
- my $new = $new_db->{$_}{version};
+ die("Support for $type script database has been removed. Please /set scriptassist_script_sources and change $type -> yml.\n");
+ } elsif ($type eq 'yml') {
+ utf8::decode($data);
+ my $new_db = CPAN::Meta::YAML->read_string($data);
+ foreach (@{$new_db->[0]}) {
+ my $K = $_->{filename};
+ if (defined $sites_db{script}{$K}) {
+ my $old = $sites_db{$K}{version};
+ my $new = $_->{version};
next if (compare_versions($old, $new) eq 'newer');
}
#foreach my $key (@header) {
- foreach my $key (keys %{ $new_db->{$_} }) {
- next unless defined $new_db->{$_}{$key};
- $sites_db{$_}{$key} = $new_db->{$_}{$key};
+ foreach my $key (keys %$_) {
+ next unless defined $_->{$key};
+ $sites_db{$K}{$key} = $_->{$key};
}
- $sites_db{$_}{source} = $src;
+ $sites_db{$K}{source} = $src;
}
} else {
die("Unknown script database type ($type).\n");
@@ -1093,6 +1095,7 @@ sub missing_module {
sub cmd_scripassist {
my ($arg, $server, $witem) = @_;
+ utf8::decode($arg);
my @args = split(/ /, $arg);
if ($args[0] eq 'help' || $args[0] eq '-h') {
show_help();
@@ -1176,7 +1179,7 @@ sub sig_complete {
}
-Irssi::settings_add_str($IRSSI{name}, 'scriptassist_script_sources', 'https://scripts.irssi.org/scripts.dmp');
+Irssi::settings_add_str($IRSSI{name}, 'scriptassist_script_sources', 'https://scripts.irssi.org/scripts.yml');
Irssi::settings_add_bool($IRSSI{name}, 'scriptassist_cache_sources', 1);
Irssi::settings_add_bool($IRSSI{name}, 'scriptassist_update_verbose', 1);
Irssi::settings_add_bool($IRSSI{name}, 'scriptassist_check_verbose', 1);
diff --git a/utils/syncdocs.sh b/utils/syncdocs.sh
index bd92ffab..fb88393b 100755
--- a/utils/syncdocs.sh
+++ b/utils/syncdocs.sh
@@ -13,7 +13,7 @@ design=$site/documentation/design/
# FOOTER. May need to be adjusted as the source pages change
pageclean_regex='s{.*(?=)?\s*(\s*){0,3})}{\1\2}g;'
+s{(<.*?)\sclass="(?:[^"]*\s+)*(?:highlighter-rouge|highlight)"(.*?>)}{\1\2}g;'
srcdir=`dirname "$0"`
test -z "$srcdir" && srcdir=.