projects
/
lab.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* find file or directory that name can be combinable by NFC/NFKC
[lab.git]
/
Dev
/
pukiwikiplus
/
getsource.pl
diff --git
a/Dev/pukiwikiplus/getsource.pl
b/Dev/pukiwikiplus/getsource.pl
index
10fcc37
..
d2cf0af
100644
(file)
--- a/
Dev/pukiwikiplus/getsource.pl
+++ b/
Dev/pukiwikiplus/getsource.pl
@@
-9,6
+9,9
@@
use URI;
use Data::Validate::URI qw(is_uri);
use Encode;
use Data::Validate::URI qw(is_uri);
use Encode;
+## get wiki formatted source text from PukiWiki Plus! page
+# '-f' option to save file automatically
+
if (@ARGV < 1) {
print "$0: [-f] url_to_pukiwikiplus_page\n";
exit;
if (@ARGV < 1) {
print "$0: [-f] url_to_pukiwikiplus_page\n";
exit;
@@
-23,6
+26,7
@@
my $url = $ARGV[0];
die "$0: '$url' is not URI" unless is_uri($url);
if ($url !~ /cmd=source/ ) {
die "$0: '$url' is not URI" unless is_uri($url);
if ($url !~ /cmd=source/ ) {
+ # set url to page of source plugin page (source.inc.php)
$url =~ s#\?(.+)#\?cmd=source&page=$1#;
if ($file) {
$file = wikifile($1) . '.txt';
$url =~ s#\?(.+)#\?cmd=source&page=$1#;
if ($file) {
$file = wikifile($1) . '.txt';
@@
-32,6
+36,7
@@
if ($url !~ /cmd=source/ ) {
print STDERR "getting: '$url'\n";
my $source = scraper {
print STDERR "getting: '$url'\n";
my $source = scraper {
+ # scrape page with '<pre id="source">' tag
process "pre#source", "source" => "TEXT";
result "source";
};
process "pre#source", "source" => "TEXT";
result "source";
};
@@
-46,6
+51,7
@@
print encode('utf8', $text);
sub wikifile {
sub wikifile {
+ # get wiki text filename from pagename
my $pagename = shift @_;
$pagename =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack('H2', $1)/eg;
my $pagename = shift @_;
$pagename =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack('H2', $1)/eg;