Initial move from local location
This commit is contained in:
parent
00e551005e
commit
eb34a2955b
|
@ -0,0 +1,51 @@
|
|||
use 5.12.0;
|
||||
use File::Slurp;
|
||||
use File::Find ;
|
||||
use Cwd ;
|
||||
use utf8;
|
||||
#use open IN => ":utf8", OUT => ":utf8";
|
||||
use open IO => ":utf8";
|
||||
|
||||
my ($pwd, $os, $d) = (cwd(), $^O, "\\");
|
||||
if ($os eq "darwin" || $os eq "linux") {$d = "/"}
|
||||
|
||||
my $book;
|
||||
my @bookList;
|
||||
|
||||
open LOG, ">Logs${d}log.log" or die "Logs${d}log.log: $!";
|
||||
|
||||
open (my $file, "<:utf8", "data${d}tW.work.NT.dat") or die "data${d}tW.work.NT.dat:\n$!";
|
||||
|
||||
while (my $line = <$file>) {
|
||||
chomp $line;
|
||||
if ($line =~ /^([^#][^\t]*)\t([^\t]*)\t([^\t]*)\t([^\t]*)$/) {
|
||||
|
||||
$book = "$1";
|
||||
push @bookList, $book;
|
||||
}
|
||||
}
|
||||
close $file;
|
||||
|
||||
|
||||
say LOG "Removing old Extract.txt";
|
||||
|
||||
system `rm \"Temp${d}Extract.txt\"`;
|
||||
|
||||
say LOG "Building new Extract.txt";
|
||||
|
||||
open(OUT, ">:utf8", "Temp${d}Extract.txt") or die "$!: Temp${d}Extract.txt";
|
||||
|
||||
foreach $book (@bookList) {
|
||||
say LOG "\$book: $book";
|
||||
my $fileText = read_file("Temp${d}ULB_text.txt", binmode => 'utf8');
|
||||
# While finds entries and Strong's numbers
|
||||
while ($fileText =~ /$book [0-9]*:[0-9]*[^\n]*\n/g) {
|
||||
say OUT $&;
|
||||
}
|
||||
}
|
||||
|
||||
close OUT;
|
||||
|
||||
close LOG;
|
||||
|
||||
say "Done."
|
|
@ -0,0 +1,52 @@
|
|||
use 5.12.0;
|
||||
use File::Slurp;
|
||||
use File::Find ;
|
||||
use Cwd ;
|
||||
use utf8;
|
||||
#use open IN => ":utf8", OUT => ":utf8";
|
||||
use open IO => ":utf8";
|
||||
|
||||
my ($pwd, $os, $d) = (cwd(), $^O, "\\");
|
||||
if ($os eq "darwin" || $os eq "linux") {$d = "/"}
|
||||
|
||||
my $book;
|
||||
my @bookList;
|
||||
|
||||
open LOG, ">Logs${d}log.log" or die "Logs${d}log.log: $!";
|
||||
|
||||
open (my $file, "<:utf8", "User${d}tW_work_OT.txt") or die "User${d}tW_work_OT.txt:\n$!";
|
||||
|
||||
while (my $line = <$file>) {
|
||||
chomp $line;
|
||||
if ($line =~ /^([^#][^\t]*)\t([^\t]*)\t([^\t]*)\t([^\t]*)$/) {
|
||||
|
||||
$book = "$1";
|
||||
push @bookList, $book;
|
||||
}
|
||||
}
|
||||
|
||||
close $file;
|
||||
|
||||
say LOG "Removing old Extract.txt";
|
||||
|
||||
system `rm \"Temp${d}Extract.txt\"`;
|
||||
|
||||
say LOG "Building new Extract.txt";
|
||||
|
||||
say LOG "\@bookList: @bookList";
|
||||
|
||||
open(OUT, ">:utf8", "Temp${d}Extract.txt") or die "$!: Temp${d}Extract.txt";
|
||||
|
||||
foreach $book (@bookList) {
|
||||
say LOG "\$book: $book";
|
||||
my $fileText = read_file("Temp${d}ULB_text.txt", binmode => 'utf8');
|
||||
# While finds entries and Strong's numbers
|
||||
while ($fileText =~ /$book [0-9]*:[0-9]*[^\n]*\n/g) {
|
||||
say OUT $&;
|
||||
}
|
||||
}
|
||||
|
||||
close OUT;
|
||||
close LOG;
|
||||
|
||||
say "Done."
|
|
@ -0,0 +1,65 @@
|
|||
# Combines most recent ULB with KJV with codes.
|
||||
|
||||
use 5.12.0;
|
||||
use Cwd;
|
||||
|
||||
my ($pwd, $os, $d) = (cwd(), $^O, "\\");
|
||||
if ($os eq "darwin" || $os eq "linux") {$d = "/"}
|
||||
|
||||
# /Users/Henry/Documents/git.Door43/en_tw/ForPDF/FilesForUpdates/CombineULBandNASBwithCodes.pl
|
||||
my ($ulb, $nasb) = ("Temp${d}ULB_text.txt", "Data${d}NASB_Strongs.txt");
|
||||
my ($ref, $val, $textEditor);
|
||||
my (%codes);
|
||||
|
||||
open LOG, ">:utf8", "Logs${d}log.log" or die;
|
||||
open OUT, ">:utf8", "Temp${d}ULB_NASB_Strongs.txt" or die;
|
||||
|
||||
open (my $defaults, "<:utf8", "User${d}User_Defaults.txt") or die "User${d}User_Defaults.txt:\n$!";
|
||||
|
||||
while (my $thisLine = <$defaults>) {
|
||||
chomp $thisLine;
|
||||
if ($thisLine =~ /^Text editor: (.*)$/) {
|
||||
say LOG "$thisLine";
|
||||
$textEditor = $1;
|
||||
}
|
||||
}
|
||||
|
||||
say "\$textEditor: $textEditor";
|
||||
die "No text editor found" if $textEditor eq "";
|
||||
|
||||
close $defaults;
|
||||
|
||||
open (my $file, "<:utf8", "$nasb") or die "$nasb:\n$!";
|
||||
|
||||
while (my $line = <$file>) {
|
||||
chomp $line;
|
||||
if ($line =~ /^([^\t]*)\t(.*)$/) {
|
||||
($ref, $val) = ($1, $2);
|
||||
$codes{$1} = $2;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
open ($file, "<:utf8", "$ulb") or die "$ulb:\n$!";
|
||||
|
||||
while (my $line = <$file>) {
|
||||
chomp $line;
|
||||
if ($line =~ /^([^\t]*)\t(.*)$/) {
|
||||
($ref, $val) = ($1, $2);
|
||||
if (exists $codes{$ref}) {
|
||||
say OUT "$ref\t$val\n $codes{$ref}"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
close OUT;
|
||||
say "Calling \$textEditor $textEditor";
|
||||
if ($os eq "darwin") {
|
||||
system ("open -a $textEditor $nasb");
|
||||
} else {
|
||||
system ("$textEditor $nasb");
|
||||
}
|
||||
|
||||
close LOG;
|
||||
|
||||
print "\n\tDone\n\n\tOutput is in $nasb\n\n";
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,7 @@
|
|||
# Displays the results of the script that mines data for the Exceptions file.
|
||||
|
||||
use 5.12.0;
|
||||
my $fileToSearch = $ARGV[0];
|
||||
my $stringToSearch = $ARGV[1];
|
||||
|
||||
say "\$fileToSearch: $fileToSearch, \$stringToSearch: $stringToSearch"
|
|
@ -0,0 +1,915 @@
|
|||
# For cases where the script misses the match
|
||||
|
||||
# If the Strong's number is not relevant (e.g., in error), the destination page is "||"
|
||||
# e.g.,
|
||||
# Nahum 1:2 1167 ||
|
||||
|
||||
# Where a Strong's number that should be listed is not,
|
||||
# e.g., because the UGNT places a verse division differently from the ULB,
|
||||
# the missing page is called thus:
|
||||
# Nahum 1:15 || 1319
|
||||
|
||||
# Where the script will link the wrong ULB word to the Strong's number
|
||||
# Book C:V [TAB] [tW page] [proper ULB text]
|
||||
# e.g.,
|
||||
# Nahum 1:12 5674 pass away
|
||||
|
||||
Joel 1:1 3068 ||
|
||||
Joel 1:2 3427 ||
|
||||
Joel 1:3 5608 ||
|
||||
Joel 1:3 312 ||
|
||||
Joel 1:4 3499 ||
|
||||
Joel 1:4 398 ||
|
||||
Joel 1:5 8354 ||
|
||||
Joel 1:5 6310 ||
|
||||
Joel 1:6 4557 ||
|
||||
Joel 1:7 7760 ||
|
||||
Joel 1:8 1167 bridegroom
|
||||
Joel 1:8 5271 ||
|
||||
Joel 1:10 3001 ||
|
||||
Joel 1:10 535 ||
|
||||
Joel 1:12 6086 ||
|
||||
Joel 1:12 120 ||
|
||||
Joel 1:13 935 ||
|
||||
Joel 1:13 3885 ||
|
||||
Joel 1:14 3427 ||
|
||||
Joel 1:15 7138 ||
|
||||
Joel 1:15 3068 ||
|
||||
Joel 1:15 935 ||
|
||||
Joel 1:16 5869 ||
|
||||
Joel 1:16 400 ||
|
||||
Joel 1:17 2040 torn down
|
||||
Joel 1:18 816 suffering
|
||||
Joel 1:19 3852 ||
|
||||
Joel 1:19 3857 ||
|
||||
Joel 1:19 6086 ||
|
||||
Joel 1:20 650 ||
|
||||
Joel 2:1 3427 ||
|
||||
Joel 2:1 3068 ||
|
||||
Joel 2:1 7138 ||
|
||||
Joel 2:2 6205 thick darkness
|
||||
Joel 2:2 6099 mighty
|
||||
Joel 2:2 3254 ||
|
||||
Joel 2:2 8141 ||
|
||||
Joel 2:3 6440 ||
|
||||
Joel 2:3 310 ||
|
||||
Joel 2:3 3852 ||
|
||||
Joel 2:3 4057 wilderness
|
||||
Joel 2:4 4758 appearance
|
||||
Joel 2:5 7218 ||
|
||||
Joel 2:5 6186 ||
|
||||
Joel 2:6 6908 ||
|
||||
Joel 2:7 5927 ||
|
||||
Joel 2:7 1870 ||
|
||||
Joel 2:8 251 ||
|
||||
Joel 2:8 1397 ||
|
||||
Joel 2:8 3212 ||
|
||||
Joel 2:8 7973 ||
|
||||
Joel 2:8 5307 ||
|
||||
Joel 2:8 1214 ||
|
||||
Joel 2:9 5892 ||
|
||||
Joel 2:9 5927 ||
|
||||
Joel 2:10 6440 ||
|
||||
Joel 2:10 7493 tremble
|
||||
Joel 2:10 6937 dark
|
||||
Joel 2:10 622 ||
|
||||
Joel 2:10 5051 ||
|
||||
Joel 2:11 5414 ||
|
||||
Joel 2:11 6440 ||
|
||||
Joel 2:11 3966 ||
|
||||
Joel 2:11 6213 ||
|
||||
Joel 2:11 1697 commands
|
||||
Joel 2:11 3117 ||
|
||||
Joel 2:13 7451 inflicting punishment
|
||||
Joel 2:14 7604 ||
|
||||
Joel 2:14 310 ||
|
||||
Joel 2:17 5414 ||
|
||||
Joel 2:17 4910 ||
|
||||
Joel 2:19 6030 ||
|
||||
Joel 2:19 7646 ||
|
||||
Joel 2:19 5414 ||
|
||||
Joel 2:20 7368 ||
|
||||
Joel 2:20 6440 ||
|
||||
Joel 2:20 314 ||
|
||||
Joel 2:22 6086 ||
|
||||
Joel 2:22 5414 ||
|
||||
Joel 2:23 5414 ||
|
||||
Joel 2:23 3381 ||
|
||||
Joel 2:23 7223 ||
|
||||
Joel 2:24 7783 ||
|
||||
Joel 2:26 398 ||
|
||||
Joel 2:26 1984 praise
|
||||
Joel 2:26 5971 ||
|
||||
Joel 2:27 5750 ||
|
||||
Joel 2:27 5971 ||
|
||||
Joel 2:28 310 ||
|
||||
Joel 2:28 1323 ||
|
||||
Joel 2:28 2492 ||
|
||||
Joel 2:28 7200 ||
|
||||
Joel 2:30 5414 ||
|
||||
Joel 2:31 935 ||
|
||||
Joel 2:31 3068 ||
|
||||
Joel 3:2 3381 ||
|
||||
Joel 3:2 2505 ||
|
||||
Joel 3:3 5414 ||
|
||||
Joel 3:3 3206 ||
|
||||
Joel 3:3 8354 ||
|
||||
Joel 3:4 7999 ||
|
||||
Joel 3:4 1580 ||
|
||||
Joel 3:5 3947 ||
|
||||
Joel 3:5 2896 precious
|
||||
Joel 3:5 4261 treasures
|
||||
Joel 3:5 935 ||
|
||||
Joel 3:7 4725 ||
|
||||
Joel 3:8 1323 ||
|
||||
Joel 3:8 1696 ||
|
||||
Joel 3:9 5066 ||
|
||||
Joel 3:9 5927 ||
|
||||
Joel 3:10 3807 ||
|
||||
Joel 3:11 935 ||
|
||||
Joel 3:11 5181 ||
|
||||
Joel 3:12 5927 ||
|
||||
Joel 3:12 3427 ||
|
||||
Joel 3:13 7971 ||
|
||||
Joel 3:13 935 ||
|
||||
Joel 3:13 7783 ||
|
||||
Joel 3:13 7227 ||
|
||||
Joel 3:14 1995 ||
|
||||
Joel 3:14 7138 ||
|
||||
Joel 3:14 3068 ||
|
||||
Joel 3:15 5051 brightness
|
||||
Joel 3:16 7580 ||
|
||||
Joel 3:16 5414 ||
|
||||
Joel 3:17 7931 ||
|
||||
Joel 3:17 5674 ||
|
||||
Joel 3:17 5750 ||
|
||||
Joel 3:18 5197 ||
|
||||
Joel 3:18 650 ||
|
||||
Joel 3:18 3068 ||
|
||||
Joel 3:18 3318 ||
|
||||
Joel 3:20 3427 ||
|
||||
Joel 3:21 7931 ||
|
||||
|
||||
Obadiah 1:1 3068 ||
|
||||
Obadiah 1:2 5414 ||
|
||||
Obadiah 1:2 3966 ||
|
||||
Obadiah 1:3 7931 ||
|
||||
Obadiah 1:3 4791 ||
|
||||
Obadiah 1:3 7675 ||
|
||||
Obadiah 1:3 3381 ||
|
||||
Obadiah 1:4 1361 ||
|
||||
Obadiah 1:4 7760 ||
|
||||
Obadiah 1:4 3381 ||
|
||||
Obadiah 1:5 935 ||
|
||||
Obadiah 1:5 1589 ||
|
||||
Obadiah 1:5 1767 ||
|
||||
Obadiah 1:5 1219 ||
|
||||
Obadiah 1:5 7604 ||
|
||||
Obadiah 1:6 2664 ||
|
||||
Obadiah 1:7 3201 ||
|
||||
Obadiah 1:7 7760 ||
|
||||
Obadiah 1:7 369 ||
|
||||
Obadiah 1:9 2865 ||
|
||||
Obadiah 1:11 5975 ||
|
||||
Obadiah 1:11 7617 ||
|
||||
Obadiah 1:11 5237 foreigners
|
||||
Obadiah 1:11 935 ||
|
||||
Obadiah 1:12 7200 ||
|
||||
Obadiah 1:12 1431 ||
|
||||
Obadiah 1:12 6310 boast
|
||||
Obadiah 1:13 935 ||
|
||||
Obadiah 1:13 7200 ||
|
||||
Obadiah 1:13 7971 ||
|
||||
Obadiah 1:14 3772 ||
|
||||
Obadiah 1:15 7138 ||
|
||||
Obadiah 1:15 1576 deeds
|
||||
Obadiah 1:15 3068 ||
|
||||
Obadiah 1:16 8548 ||
|
||||
Obadiah 1:18 3852 ||
|
||||
Obadiah 1:18 1696 ||
|
||||
Obadiah 1:20 5892 ||
|
||||
Obadiah 1:21 5927 ||
|
||||
|
||||
Jonah 1:1 3068 ||
|
||||
Jonah 1:2 3212 ||
|
||||
Jonah 1:2 5892 ||
|
||||
Jonah 1:3 3381 ||
|
||||
Jonah 1:3 4672 ||
|
||||
Jonah 1:3 935 ||
|
||||
Jonah 1:3 5414 ||
|
||||
Jonah 1:3 7939 ||
|
||||
Jonah 1:4 7307 ||
|
||||
Jonah 1:4 2803 ||
|
||||
Jonah 1:4 7665 ||
|
||||
Jonah 1:5 2904 ||
|
||||
Jonah 1:5 3627 ||
|
||||
Jonah 1:5 7043 ||
|
||||
Jonah 1:5 3381 ||
|
||||
Jonah 1:5 7290 ||
|
||||
Jonah 1:6 7126 ||
|
||||
Jonah 1:7 3212 ||
|
||||
Jonah 1:7 5307 ||
|
||||
Jonah 1:8 5046 ||
|
||||
Jonah 1:8 4994 ||
|
||||
Jonah 1:8 4399 ||
|
||||
Jonah 1:8 935 ||
|
||||
Jonah 1:8 776 ||
|
||||
Jonah 1:9 6213 ||
|
||||
Jonah 1:10 3373 ||
|
||||
Jonah 1:10 1419 ||
|
||||
Jonah 1:10 6213 ||
|
||||
Jonah 1:11 6213 ||
|
||||
Jonah 1:11 1980 ||
|
||||
Jonah 1:11 5590 ||
|
||||
Jonah 1:12 5375 ||
|
||||
Jonah 1:12 2904 ||
|
||||
Jonah 1:13 5590 ||
|
||||
Jonah 1:13 1980 ||
|
||||
Jonah 1:14 4994 ||
|
||||
Jonah 1:14 5414 ||
|
||||
Jonah 1:14 2654 pleased
|
||||
Jonah 1:14 6213 ||
|
||||
Jonah 1:15 5375 ||
|
||||
Jonah 1:15 2904 ||
|
||||
Jonah 1:15 5975 ||
|
||||
Jonah 1:16 3373 ||
|
||||
Jonah 1:16 1419 ||
|
||||
Jonah 1:16 2077 sacrifice
|
||||
Jonah 1:16 5088 vows
|
||||
Jonah 1:17 4578 ||
|
||||
Jonah 2:1 4578 ||
|
||||
Jonah 2:2 7768 ||
|
||||
Jonah 2:2 990 ||
|
||||
Jonah 2:3 3220 ||
|
||||
Jonah 2:3 5104 ||
|
||||
Jonah 2:3 5437 ||
|
||||
Jonah 2:3 1530 ||
|
||||
Jonah 2:3 5674 ||
|
||||
Jonah 2:4 5869 ||
|
||||
Jonah 2:4 3254 ||
|
||||
Jonah 2:5 5315 ||
|
||||
Jonah 2:5 5437 ||
|
||||
Jonah 2:5 5488 ||
|
||||
Jonah 2:5 2280 ||
|
||||
Jonah 2:6 3381 ||
|
||||
Jonah 2:7 2142 ||
|
||||
Jonah 2:7 935 ||
|
||||
Jonah 2:9 2076 sacrifice
|
||||
Jonah 3:1 3068 ||
|
||||
Jonah 3:2 3212 ||
|
||||
Jonah 3:2 5892 ||
|
||||
Jonah 3:2 7150 message
|
||||
Jonah 3:2 3212 ||
|
||||
Jonah 3:2 5892 ||
|
||||
Jonah 3:3 430 ||
|
||||
Jonah 3:3 3212 ||
|
||||
Jonah 3:3 3068 ||
|
||||
Jonah 3:3 5892 ||
|
||||
Jonah 3:3 1419 ||
|
||||
Jonah 3:3 430 ||
|
||||
Jonah 3:4 2490 ||
|
||||
Jonah 3:4 935 ||
|
||||
Jonah 3:4 5892 ||
|
||||
Jonah 3:4 5750 ||
|
||||
Jonah 3:6 5674 ||
|
||||
Jonah 3:6 3427 ||
|
||||
Jonah 3:7 120 ||
|
||||
Jonah 3:7 8354 ||
|
||||
Jonah 3:8 120 ||
|
||||
Jonah 3:8 1870 ||
|
||||
Jonah 3:9 2740 ||
|
||||
Jonah 3:10 7200 ||
|
||||
Jonah 3:10 1870 ||
|
||||
Jonah 3:10 1696 ||
|
||||
Jonah 4:1 7489 ||
|
||||
Jonah 4:1 7451 ||
|
||||
Jonah 4:1 1419 ||
|
||||
Jonah 4:2 577 ||
|
||||
Jonah 4:2 127 ||
|
||||
Jonah 4:2 7451 ||
|
||||
Jonah 4:3 3947 ||
|
||||
Jonah 4:3 4994 ||
|
||||
Jonah 4:5 3318 ||
|
||||
Jonah 4:5 5892 ||
|
||||
Jonah 4:5 3427 ||
|
||||
Jonah 4:5 6924 ||
|
||||
Jonah 4:5 6213 ||
|
||||
Jonah 4:5 7200 ||
|
||||
Jonah 4:6 5927 ||
|
||||
Jonah 4:6 5337 ||
|
||||
Jonah 4:6 7451 distress
|
||||
Jonah 4:6 8057 ||
|
||||
Jonah 4:6 1419 ||
|
||||
Jonah 4:7 5927 ||
|
||||
Jonah 4:7 7837 ||
|
||||
Jonah 4:7 5221 ||
|
||||
Jonah 4:8 7307 ||
|
||||
Jonah 4:8 6921 ||
|
||||
Jonah 4:8 5221 ||
|
||||
Jonah 4:8 7592 ||
|
||||
Jonah 4:8 2416 live
|
||||
Jonah 4:10 1431 ||
|
||||
Jonah 4:10 1121 ||
|
||||
Jonah 4:11 5892 ||
|
||||
Jonah 4:11 3426 ||
|
||||
Jonah 4:11 7235 ||
|
||||
Jonah 4:11 8147 ||
|
||||
Jonah 4:11 120 ||
|
||||
Jonah 4:11 7227 ||
|
||||
|
||||
Nahum 1:2 1167 ||
|
||||
Nahum 1:3 750 slow
|
||||
Nahum 1:3 1419 ||
|
||||
Nahum 1:3 1870 ||
|
||||
Nahum 1:3 7272 ||
|
||||
Nahum 1:4 5104 ||
|
||||
Nahum 1:4 2717 ||
|
||||
Nahum 1:5 7493 ||
|
||||
Nahum 1:5 3427 ||
|
||||
Nahum 1:5 5375 ||
|
||||
Nahum 1:5 8398 ||
|
||||
Nahum 1:6 5975 ||
|
||||
Nahum 1:6 5413 ||
|
||||
Nahum 1:6 5422 ||
|
||||
Nahum 1:6 2195 rage
|
||||
Nahum 1:8 5674 ||
|
||||
Nahum 1:8 3617 ||
|
||||
Nahum 1:8 6213 ||
|
||||
Nahum 1:8 4725 ||
|
||||
Nahum 1:8 7291 ||
|
||||
Nahum 1:9 3617 ||
|
||||
Nahum 1:9 6213 ||
|
||||
Nahum 1:10 4392 ||
|
||||
Nahum 1:12 7227 ||
|
||||
Nahum 1:12 5674 pass away
|
||||
Nahum 1:12 5750 ||
|
||||
Nahum 1:13 7665 ||
|
||||
Nahum 1:14 5750 ||
|
||||
Nahum 1:15 7272 ||
|
||||
Nahum 1:15 2282 festivals
|
||||
Nahum 1:15 3254 ||
|
||||
Nahum 1:15 8085 announces
|
||||
Nahum 1:15 5750 ||
|
||||
Nahum 1:15 5674 ||
|
||||
Nahum 2:1 6440 faces
|
||||
Nahum 2:1 1870 ||
|
||||
Nahum 2:1 5927 ||
|
||||
Nahum 2:1 3581 strength
|
||||
Nahum 2:1 3966 ||
|
||||
Nahum 2:2 3478 Israel
|
||||
Nahum 2:3 784 ||
|
||||
Nahum 2:3 3559 ||
|
||||
Nahum 2:4 1984 ||
|
||||
Nahum 2:4 7339 ||
|
||||
Nahum 2:4 4758 ||
|
||||
Nahum 2:4 1300 ||
|
||||
Nahum 2:5 2142 ||
|
||||
Nahum 2:5 4116 ||
|
||||
Nahum 2:6 5104 ||
|
||||
Nahum 2:7 5324 ||
|
||||
Nahum 2:7 1540 ||
|
||||
Nahum 2:7 6963 ||
|
||||
Nahum 2:7 3824 ||
|
||||
Nahum 2:8 3117 ||
|
||||
Nahum 2:8 5975 ||
|
||||
Nahum 2:8 369 ||
|
||||
Nahum 2:9 369 ||
|
||||
Nahum 2:9 8498 ||
|
||||
Nahum 2:9 3519 splendor
|
||||
Nahum 2:9 3627 ||
|
||||
Nahum 2:10 6908 ||
|
||||
Nahum 2:11 369 ||
|
||||
Nahum 2:12 1767 ||
|
||||
Nahum 2:12 4585 ||
|
||||
Nahum 2:13 6635 ||
|
||||
Nahum 2:13 5750 ||
|
||||
Nahum 3:1 5892 ||
|
||||
Nahum 3:1 4395 ||
|
||||
Nahum 3:2 7494 ||
|
||||
Nahum 3:2 212 ||
|
||||
Nahum 3:3 1300 ||
|
||||
Nahum 3:3 7230 ||
|
||||
Nahum 3:3 369 ||
|
||||
Nahum 3:4 7230 ||
|
||||
Nahum 3:4 2580 ||
|
||||
Nahum 3:4 4940 peoples
|
||||
Nahum 3:5 6635 ||
|
||||
Nahum 3:5 7200 ||
|
||||
Nahum 3:6 7993 ||
|
||||
Nahum 3:7 7200 ||
|
||||
Nahum 3:7 1245 go to find
|
||||
Nahum 3:8 3427 ||
|
||||
Nahum 3:9 369 ||
|
||||
Nahum 3:10 1980 ||
|
||||
Nahum 3:10 7628 ||
|
||||
Nahum 3:12 5307 ||
|
||||
Nahum 3:12 5128 ||
|
||||
Nahum 3:12 398 ||
|
||||
Nahum 3:12 6310 ||
|
||||
Nahum 3:13 7130 ||
|
||||
Nahum 3:13 776 ||
|
||||
Nahum 3:14 4013 ||
|
||||
Nahum 3:14 935 ||
|
||||
Nahum 3:15 3772 ||
|
||||
Nahum 3:17 697 locust swarms
|
||||
Nahum 3:17 1462 locusts
|
||||
Nahum 3:17 4725 ||
|
||||
Nahum 3:18 369 ||
|
||||
Nahum 3:19 369 ||
|
||||
Nahum 3:19 8088 ||
|
||||
Nahum 3:19 8548 ||
|
||||
|
||||
Habakkuk 1:1 2372 burden
|
||||
Habakkuk 1:1 5030 prophet
|
||||
Habakkuk 1:4 6127 twisted
|
||||
Habakkuk 1:3 7701 destruction
|
||||
Habakkuk 1:3 2555 violence
|
||||
Habakkuk 1:3 7379 strife
|
||||
Habakkuk 1:3 4066 contention
|
||||
Habakkuk 1:4 3803 ||
|
||||
Habakkuk 1:5 7200 ||
|
||||
Habakkuk 1:5 6466 ||
|
||||
Habakkuk 1:6 4751 ||
|
||||
Habakkuk 1:6 1980 ||
|
||||
Habakkuk 1:6 4800 ||
|
||||
Habakkuk 1:6 4908 ||
|
||||
Habakkuk 1:7 3372 feared
|
||||
Habakkuk 1:8 7043 ||
|
||||
Habakkuk 1:8 6153 ||
|
||||
Habakkuk 1:8 935 ||
|
||||
Habakkuk 1:8 398 ||
|
||||
Habakkuk 1:9 935 ||
|
||||
Habakkuk 1:9 6440 ||
|
||||
Habakkuk 1:10 7336 rulers
|
||||
Habakkuk 1:10 4428 kings
|
||||
Habakkuk 1:11 227 ||
|
||||
Habakkuk 1:11 2498 ||
|
||||
Habakkuk 1:11 7307 ||
|
||||
Habakkuk 1:11 5674 ||
|
||||
Habakkuk 1:12 4941 judgment
|
||||
Habakkuk 1:13 5869 ||
|
||||
Habakkuk 1:13 7200 ||
|
||||
Habakkuk 1:13 5027 ||
|
||||
Habakkuk 1:13 3201 ||
|
||||
Habakkuk 1:13 2790 ||
|
||||
Habakkuk 1:14 120 ||
|
||||
Habakkuk 1:15 5927 ||
|
||||
Habakkuk 1:15 2764 ||
|
||||
Habakkuk 1:15 622 ||
|
||||
Habakkuk 1:16 2764 ||
|
||||
Habakkuk 1:16 2506 ||
|
||||
Habakkuk 1:17 2764 ||
|
||||
Habakkuk 1:17 8548 ||
|
||||
Habakkuk 2:1 5975 ||
|
||||
Habakkuk 2:1 7200 ||
|
||||
Habakkuk 2:1 1696 ||
|
||||
Habakkuk 2:1 8433 ||
|
||||
Habakkuk 2:2 7121 ||
|
||||
Habakkuk 2:2 6030 ||
|
||||
Habakkuk 2:2 3789 record
|
||||
Habakkuk 2:2 874 write plainly
|
||||
Habakkuk 2:3 5750 ||
|
||||
Habakkuk 2:4 6662 righteous
|
||||
Habakkuk 2:4 3474 right
|
||||
Habakkuk 2:4 5315 desires
|
||||
Habakkuk 2:4 2421 live
|
||||
Habakkuk 2:5 4194 death
|
||||
Habakkuk 2:5 1397 young man
|
||||
Habakkuk 2:5 7646 ||
|
||||
Habakkuk 2:5 622 ||
|
||||
Habakkuk 2:5 6908 ||
|
||||
Habakkuk 2:5 1397 ||
|
||||
Habakkuk 2:6 5375 ||
|
||||
Habakkuk 2:6 2420 ||
|
||||
Habakkuk 2:6 4912 proverb
|
||||
Habakkuk 2:6 4426 mockery
|
||||
Habakkuk 2:7 6974 ||
|
||||
Habakkuk 2:8 1471 nations
|
||||
Habakkuk 2:8 7227 ||
|
||||
Habakkuk 2:8 2555 violence
|
||||
Habakkuk 2:8 3427 ||
|
||||
Habakkuk 2:9 1214 gets
|
||||
Habakkuk 2:9 1215 gains
|
||||
Habakkuk 2:9 7760 ||
|
||||
Habakkuk 2:10 7227 ||
|
||||
Habakkuk 2:11 6086 ||
|
||||
Habakkuk 2:11 6030 ||
|
||||
Habakkuk 2:12 1129 ||
|
||||
Habakkuk 2:12 5892 ||
|
||||
Habakkuk 2:12 3559 founds
|
||||
Habakkuk 2:13 6635 ||
|
||||
Habakkuk 2:13 1767 ||
|
||||
Habakkuk 2:14 3680 ||
|
||||
Habakkuk 2:15 5596 ||
|
||||
Habakkuk 2:15 8248 drink
|
||||
Habakkuk 2:15 5027 ||
|
||||
Habakkuk 2:16 8354 drink
|
||||
Habakkuk 2:17 120 ||
|
||||
Habakkuk 2:17 3427 ||
|
||||
Habakkuk 2:18 457 ||
|
||||
Habakkuk 2:18 3335 ||
|
||||
Habakkuk 2:18 6213 ||
|
||||
Habakkuk 2:19 8610 ||
|
||||
Habakkuk 2:19 369 ||
|
||||
Habakkuk 2:19 6086 ||
|
||||
Habakkuk 3:2 8088 report
|
||||
Habakkuk 3:2 2142 ||
|
||||
Habakkuk 3:2 2421 revive
|
||||
Habakkuk 3:3 935 ||
|
||||
Habakkuk 3:3 4390 ||
|
||||
Habakkuk 3:3 3680 ||
|
||||
Habakkuk 3:4 216 light
|
||||
Habakkuk 3:4 7161 ||
|
||||
Habakkuk 3:4 5797 power
|
||||
Habakkuk 3:5 3212 ||
|
||||
Habakkuk 3:5 3318 ||
|
||||
Habakkuk 3:5 7272 ||
|
||||
Habakkuk 3:6 5975 ||
|
||||
Habakkuk 3:6 7200 ||
|
||||
Habakkuk 3:6 6327 ||
|
||||
Habakkuk 3:6 1389 ||
|
||||
Habakkuk 3:7 7200 ||
|
||||
Habakkuk 3:8 5104 ||
|
||||
Habakkuk 3:8 3444 ||
|
||||
Habakkuk 3:9 7621 ||
|
||||
Habakkuk 3:9 4294 ||
|
||||
Habakkuk 3:9 562 ||
|
||||
Habakkuk 3:9 5104 ||
|
||||
Habakkuk 3:10 7200 ||
|
||||
Habakkuk 3:10 5414 ||
|
||||
Habakkuk 3:10 5674 swept
|
||||
Habakkuk 3:10 5375 ||
|
||||
Habakkuk 3:11 5975 ||
|
||||
Habakkuk 3:11 1980 ||
|
||||
Habakkuk 3:11 5051 ||
|
||||
Habakkuk 3:11 1300 ||
|
||||
Habakkuk 3:12 2195 ||
|
||||
Habakkuk 3:12 6805 ||
|
||||
Habakkuk 3:13 3318 ||
|
||||
Habakkuk 3:13 4272 ||
|
||||
Habakkuk 3:13 3247 ||
|
||||
Habakkuk 3:14 5590 ||
|
||||
Habakkuk 3:14 6041 ||
|
||||
Habakkuk 3:15 7227 ||
|
||||
Habakkuk 3:16 8085 ||
|
||||
Habakkuk 3:16 990 ||
|
||||
Habakkuk 3:16 8193 ||
|
||||
Habakkuk 3:16 935 ||
|
||||
Habakkuk 3:16 6106 ||
|
||||
Habakkuk 3:16 5927 ||
|
||||
Habakkuk 3:17 369 ||
|
||||
Habakkuk 3:17 6213 ||
|
||||
Habakkuk 3:17 6524 ||
|
||||
Habakkuk 3:17 3584 ||
|
||||
Habakkuk 3:17 4639 ||
|
||||
Habakkuk 3:17 400 ||
|
||||
Habakkuk 3:19 7760 ||
|
||||
Habakkuk 3:19 7272 ||
|
||||
Habakkuk 3:19 1869 walk
|
||||
Habakkuk 3:19 5058 ||
|
||||
|
||||
Zephaniah 1:1 3068 ||
|
||||
Zephaniah 1:1 3570 ||
|
||||
Zephaniah 1:2 6440 ||
|
||||
Zephaniah 1:2 622 ||
|
||||
Zephaniah 1:2 5486 sweep
|
||||
Zephaniah 1:3 6440 ||
|
||||
Zephaniah 1:2 622 ||
|
||||
Zephaniah 1:3 120 ||
|
||||
Zephaniah 1:4 5186 ||
|
||||
Zephaniah 1:4 3427 ||
|
||||
Zephaniah 1:4 4725 ||
|
||||
Zephaniah 1:5 1406 ||
|
||||
Zephaniah 1:5 6635 ||
|
||||
Zephaniah 1:7 3117 day of Yahweh
|
||||
Zephaniah 1:7 3068 ||
|
||||
Zephaniah 1:7 7138 ||
|
||||
Zephaniah 1:7 3559 ||
|
||||
Zephaniah 1:7 7121 ||
|
||||
Zephaniah 1:8 3068 ||
|
||||
Zephaniah 1:9 4390 ||
|
||||
Zephaniah 1:10 6963 ||
|
||||
Zephaniah 1:10 6818 cry of distress
|
||||
Zephaniah 1:11 3427 ||
|
||||
Zephaniah 1:11 1820 ruined
|
||||
Zephaniah 1:11 3772 cut ... off
|
||||
Zephaniah 1:13 1129 ||
|
||||
Zephaniah 1:13 3427 ||
|
||||
Zephaniah 1:13 8354 ||
|
||||
Zephaniah 1:14 7138 ||
|
||||
Zephaniah 1:14 3966 ||
|
||||
Zephaniah 1:14 6873 crying
|
||||
Zephaniah 1:14 4751 ||
|
||||
Zephaniah 1:15 4875 devastation
|
||||
Zephaniah 1:15 6205 ||
|
||||
Zephaniah 1:16 1364 ||
|
||||
Zephaniah 1:16 5892 ||
|
||||
Zephaniah 1:17 120 ||
|
||||
Zephaniah 1:18 3068 ||
|
||||
Zephaniah 1:18 3617 ||
|
||||
Zephaniah 1:18 6213 ||
|
||||
Zephaniah 1:18 3427 ||
|
||||
Zephaniah 2:2 3068 ||
|
||||
Zephaniah 2:2 3117 day of Yahweh's wrath
|
||||
Zephaniah 2:2 3205 ||
|
||||
Zephaniah 2:3 3068 ||
|
||||
Zephaniah 2:3 6466 ||
|
||||
Zephaniah 2:3 3117 day of Yahweh's wrath
|
||||
Zephaniah 2:3 639 ||
|
||||
Zephaniah 2:5 3427 ||
|
||||
Zephaniah 2:5 2256 ||
|
||||
Zephaniah 2:5 3220 ||
|
||||
Zephaniah 2:5 369 ||
|
||||
Zephaniah 2:6 2256 ||
|
||||
Zephaniah 2:6 3220 ||
|
||||
Zephaniah 2:6 5116 ||
|
||||
Zephaniah 2:7 2256 ||
|
||||
Zephaniah 2:7 6485 care for
|
||||
Zephaniah 2:7 7622 ||
|
||||
Zephaniah 2:9 6635 ||
|
||||
Zephaniah 2:9 4417 ||
|
||||
Zephaniah 2:9 5971 ||
|
||||
Zephaniah 2:9 3499 ||
|
||||
Zephaniah 2:10 6635 ||
|
||||
Zephaniah 2:11 4725 ||
|
||||
Zephaniah 2:13 5186 ||
|
||||
Zephaniah 2:13 7760 ||
|
||||
Zephaniah 2:13 6723 dry
|
||||
Zephaniah 2:13 4057 desert
|
||||
Zephaniah 2:14 3885 ||
|
||||
Zephaniah 2:14 6963 ||
|
||||
Zephaniah 2:15 3427 ||
|
||||
Zephaniah 2:15 5750 ||
|
||||
Zephaniah 2:15 8047 horror
|
||||
Zephaniah 2:15 5674 ||
|
||||
Zephaniah 3:1 5892 ||
|
||||
Zephaniah 3:2 7126 ||
|
||||
Zephaniah 3:3 6153 ||
|
||||
Zephaniah 3:3 7580 ||
|
||||
Zephaniah 3:4 2554 violence
|
||||
Zephaniah 3:5 6213 ||
|
||||
Zephaniah 3:5 5767 unjust
|
||||
Zephaniah 3:5 5414 ||
|
||||
Zephaniah 3:6 5674 ||
|
||||
Zephaniah 3:6 5892 ||
|
||||
Zephaniah 3:6 369 ||
|
||||
Zephaniah 3:6 3427 ||
|
||||
Zephaniah 3:9 227 ||
|
||||
Zephaniah 3:9 2015 ||
|
||||
Zephaniah 3:9 8193 ||
|
||||
Zephaniah 3:10 6327 scattered
|
||||
Zephaniah 3:10 5676 ||
|
||||
Zephaniah 3:11 5493 ||
|
||||
Zephaniah 3:11 3254 ||
|
||||
Zephaniah 3:11 5750 ||
|
||||
Zephaniah 3:12 7604 ||
|
||||
Zephaniah 3:13 1696 ||
|
||||
Zephaniah 3:13 4672 ||
|
||||
Zephaniah 3:13 369 ||
|
||||
Zephaniah 3:13 6310 ||
|
||||
Zephaniah 3:13 8649 deceitful
|
||||
Zephaniah 3:13 7462 ||
|
||||
Zephaniah 3:14 6726 ||
|
||||
Zephaniah 3:14 8055 be glad
|
||||
Zephaniah 3:14 5937 rejoice
|
||||
Zephaniah 3:15 5493 ||
|
||||
Zephaniah 3:15 5750 ||
|
||||
Zephaniah 3:17 2790 ||
|
||||
Zephaniah 3:17 430 God
|
||||
Zephaniah 3:18 4864 ||
|
||||
Zephaniah 3:19 7760 ||
|
||||
Zephaniah 3:20 935 ||
|
||||
Zephaniah 3:20 5414 ||
|
||||
Zephaniah 3:20 7622 ||
|
||||
Zephaniah 3:20 5869 ||
|
||||
|
||||
Haggai 1:1 3068 ||
|
||||
Haggai 1:1 8147 ||
|
||||
Haggai 1:1 1419 ||
|
||||
Haggai 1:2 935 ||
|
||||
Haggai 1:2 6635 ||
|
||||
Haggai 1:2 1129 ||
|
||||
Haggai 1:3 3068 ||
|
||||
Haggai 1:5 1870 ||
|
||||
Haggai 1:5 6635 ||
|
||||
Haggai 1:5 3824 ||
|
||||
Haggai 1:6 7937 get drunk
|
||||
Haggai 1:6 8354 drink
|
||||
Haggai 1:6 7235 ||
|
||||
Haggai 1:6 935 ||
|
||||
Haggai 1:6 4592 ||
|
||||
Haggai 1:6 398 ||
|
||||
Haggai 1:6 6872 ||
|
||||
Haggai 1:6 369 ||
|
||||
Haggai 1:6 7936 ||
|
||||
Haggai 1:7 6635 ||
|
||||
Haggai 1:7 1870 ||
|
||||
Haggai 1:7 3824 ||
|
||||
Haggai 1:8 5927 ||
|
||||
Haggai 1:8 935 ||
|
||||
Haggai 1:8 6086 ||
|
||||
Haggai 1:8 1129 ||
|
||||
Haggai 1:9 6437 ||
|
||||
Haggai 1:9 4592 ||
|
||||
Haggai 1:9 935 ||
|
||||
Haggai 1:9 5301 ||
|
||||
Haggai 1:9 6635 ||
|
||||
Haggai 1:9 7235 ||
|
||||
Haggai 1:11 2721 ||
|
||||
Haggai 1:11 120 ||
|
||||
Haggai 1:12 1419 ||
|
||||
Haggai 1:14 1419 ||
|
||||
Haggai 1:14 5971 ||
|
||||
Haggai 1:14 935 ||
|
||||
Haggai 1:14 6213 ||
|
||||
Haggai 1:14 4399 worked
|
||||
Haggai 1:14 6635 ||
|
||||
Haggai 1:15 6242 ||
|
||||
Haggai 1:15 8147 ||
|
||||
Haggai 2:1 3068 ||
|
||||
Haggai 2:1 7637 ||
|
||||
Haggai 2:2 1419 ||
|
||||
Haggai 2:2 4994 ||
|
||||
Haggai 2:2 5971 ||
|
||||
Haggai 2:3 7604 ||
|
||||
Haggai 2:3 7200 ||
|
||||
Haggai 2:3 7223 ||
|
||||
Haggai 2:3 3644 ||
|
||||
Haggai 2:3 369 ||
|
||||
Haggai 2:4 1419 ||
|
||||
Haggai 2:4 5971 people
|
||||
Haggai 2:4 6635 ||
|
||||
Haggai 2:5 5975 ||
|
||||
Haggai 2:5 3318 ||
|
||||
Haggai 2:6 6635 ||
|
||||
Haggai 2:6 4592 ||
|
||||
Haggai 2:7 935 ||
|
||||
Haggai 2:7 4390 ||
|
||||
Haggai 2:7 6635 ||
|
||||
Haggai 2:8 6635 ||
|
||||
Haggai 2:9 7223 ||
|
||||
Haggai 2:9 314 ||
|
||||
Haggai 2:9 5414 ||
|
||||
Haggai 2:10 3068 ||
|
||||
Haggai 2:10 8147 ||
|
||||
Haggai 2:11 6635 ||
|
||||
Haggai 2:11 4994 ||
|
||||
Haggai 2:12 5375 ||
|
||||
Haggai 2:12 3671 ||
|
||||
Haggai 2:12 6030 ||
|
||||
Haggai 2:13 6030 ||
|
||||
Haggai 2:14 6030 ||
|
||||
Haggai 2:14 7126 ||
|
||||
Haggai 2:15 7760 ||
|
||||
Haggai 2:15 4994 ||
|
||||
Haggai 2:15 4605 ||
|
||||
Haggai 2:16 935 ||
|
||||
Haggai 2:16 6242 ||
|
||||
Haggai 2:16 3342 ||
|
||||
Haggai 2:16 6235 ||
|
||||
Haggai 2:16 6333 ||
|
||||
Haggai 2:17 5221 ||
|
||||
Haggai 2:17 369 ||
|
||||
Haggai 2:18 3824 ||
|
||||
Haggai 2:18 4994 ||
|
||||
Haggai 2:18 4605 ||
|
||||
Haggai 2:19 5750 ||
|
||||
Haggai 2:19 6086 ||
|
||||
Haggai 2:20 3068 ||
|
||||
Haggai 2:22 8045 ||
|
||||
Haggai 2:22 3381 ||
|
||||
Haggai 2:23 3947 ||
|
||||
Haggai 2:23 7760 ||
|
||||
|
||||
Malachi 1:1 3068 ||
|
||||
Malachi 1:3 8130 ||
|
||||
Malachi 1:3 7760 ||
|
||||
Malachi 1:4 1129 ||
|
||||
Malachi 1:4 6635 ||
|
||||
Malachi 1:5 5869 ||
|
||||
Malachi 1:5 7200 ||
|
||||
Malachi 1:6 6635 ||
|
||||
Malachi 1:8 2076 sacrifice
|
||||
Malachi 1:8 369 ||
|
||||
Malachi 1:8 2470 ||
|
||||
Malachi 1:8 7126 ||
|
||||
Malachi 1:8 4994 ||
|
||||
Malachi 1:8 6635 ||
|
||||
Malachi 1:9 2470 ||
|
||||
Malachi 1:9 4994 praying
|
||||
Malachi 1:9 6635 ||
|
||||
Malachi 1:10 5462 ||
|
||||
Malachi 1:10 369 ||
|
||||
Malachi 1:10 6635 ||
|
||||
Malachi 1:11 4725 ||
|
||||
Malachi 1:11 5066 offered
|
||||
Malachi 1:11 6999 incense
|
||||
Malachi 1:11 4503 grain offerings
|
||||
Malachi 1:11 6635 ||
|
||||
Malachi 1:12 400 ||
|
||||
Malachi 1:13 5301 ||
|
||||
Malachi 1:13 6635 ||
|
||||
Malachi 1:13 935 ||
|
||||
Malachi 1:13 1497 ||
|
||||
Malachi 1:13 2470 ||
|
||||
Malachi 1:14 3426 ||
|
||||
Malachi 1:14 2145 ||
|
||||
Malachi 1:14 6635 ||
|
||||
Malachi 2:2 7760 ||
|
||||
Malachi 2:2 6635 ||
|
||||
Malachi 2:2 7971 ||
|
||||
Malachi 2:2 369 ||
|
||||
Malachi 2:3 2219 ||
|
||||
Malachi 2:3 5375 ||
|
||||
Malachi 2:4 6635 ||
|
||||
Malachi 2:5 5414 ||
|
||||
Malachi 2:6 6310 ||
|
||||
Malachi 2:6 4672 ||
|
||||
Malachi 2:6 7725 turned ... away
|
||||
Malachi 2:6 8193 ||
|
||||
Malachi 2:6 7227 ||
|
||||
Malachi 2:7 8193 ||
|
||||
Malachi 2:7 6310 ||
|
||||
Malachi 2:7 6635 ||
|
||||
Malachi 2:8 1870 ||
|
||||
Malachi 2:8 7227 ||
|
||||
Malachi 2:8 6635 ||
|
||||
Malachi 2:9 5414 ||
|
||||
Malachi 2:9 369 ||
|
||||
Malachi 2:9 1870 ||
|
||||
Malachi 2:9 8451 instruction
|
||||
Malachi 2:11 1166 ||
|
||||
Malachi 2:11 1323 ||
|
||||
Malachi 2:12 6213 ||
|
||||
Malachi 2:12 6030 answers
|
||||
Malachi 2:12 4503 ||
|
||||
Malachi 2:12 6635 ||
|
||||
Malachi 2:13 8145 ||
|
||||
Malachi 2:13 5750 ||
|
||||
Malachi 2:13 369 ||
|
||||
Malachi 2:13 7522 favor
|
||||
Malachi 2:15 6213 ||
|
||||
Malachi 2:15 7605 ||
|
||||
Malachi 2:16 3830 garment
|
||||
Malachi 2:16 6635 ||
|
||||
Malachi 2:17 3021 ||
|
||||
Malachi 2:17 6213 ||
|
||||
Malachi 2:17 5869 ||
|
||||
Malachi 3:1 6437 ||
|
||||
Malachi 3:1 1870 ||
|
||||
Malachi 3:1 935 ||
|
||||
Malachi 3:1 6635 ||
|
||||
Malachi 3:2 935 ||
|
||||
Malachi 3:2 7200 ||
|
||||
Malachi 3:3 3427 ||
|
||||
Malachi 3:3 2891 purify
|
||||
Malachi 3:3 2212 refine
|
||||
Malachi 3:3 4503 offerings
|
||||
Malachi 3:4 5769 ||
|
||||
Malachi 3:5 7126 ||
|
||||
Malachi 3:5 4116 ||
|
||||
Malachi 3:5 6635 ||
|
||||
Malachi 3:6 8138 ||
|
||||
Malachi 3:7 6635 ||
|
||||
Malachi 3:8 120 ||
|
||||
Malachi 3:10 935 ||
|
||||
Malachi 3:10 214 storehouse
|
||||
Malachi 3:10 2964 ||
|
||||
Malachi 3:10 4994 ||
|
||||
Malachi 3:10 6635 ||
|
||||
Malachi 3:10 1767 ||
|
||||
Malachi 3:11 6635 ||
|
||||
Malachi 3:12 6635 ||
|
||||
Malachi 3:13 1696 ||
|
||||
Malachi 3:14 3068 ||
|
||||
Malachi 3:14 6635 ||
|
||||
Malachi 3:15 2086 arrogant
|
||||
Malachi 3:15 4422 ||
|
||||
Malachi 3:16 227 ||
|
||||
Malachi 3:16 1696 ||
|
||||
Malachi 3:16 7453 ||
|
||||
Malachi 3:16 8085 ||
|
||||
Malachi 3:16 2146 ||
|
||||
Malachi 3:17 6635 ||
|
||||
Malachi 3:17 6213 ||
|
||||
Malachi 3:17 5459 possession
|
||||
Malachi 3:18 7725 ||
|
||||
Malachi 3:18 7200 distinguish
|
||||
Malachi 4:1 935 ||
|
||||
Malachi 4:1 2086 arrogant
|
||||
Malachi 4:1 7564 evildoer
|
||||
Malachi 4:1 6635 ||
|
||||
Malachi 4:2 3671 ||
|
||||
Malachi 4:2 3318 ||
|
||||
Malachi 4:3 3709 ||
|
||||
Malachi 4:3 7272 ||
|
||||
Malachi 4:3 6213 ||
|
||||
Malachi 4:3 6635 ||
|
||||
Malachi 4:4 2142 ||
|
||||
Malachi 4:4 4941 rulings
|
||||
Malachi 4:5 935 ||
|
||||
Malachi 4:5 3068 ||
|
||||
Malachi 4:6 935 ||
|
||||
Malachi 4:6 5221 ||
|
||||
Malachi 4:6 776 land
|
||||
Malachi 4:6 2764 complete destruction
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,43 @@
|
|||
use 5.12.0;
|
||||
use Cwd;
|
||||
|
||||
my ($pwd, $os, $d, $textEditor) = (cwd(), $^O, "\\");
|
||||
if ($os eq "darwin" || $os eq "linux") {$d = "/"}
|
||||
|
||||
GetUserDefaults();
|
||||
|
||||
my $files = "";
|
||||
|
||||
open(IN, "temp${d}mismatched_snippets.html") or die "$!\ntemp${d}mismatched_snippets.html";
|
||||
|
||||
while (<IN>) {
|
||||
chomp;
|
||||
# say $_;
|
||||
if (/<p><b>(.*)<\/b><\/p>/) {
|
||||
$files .= "$1 "
|
||||
}
|
||||
}
|
||||
|
||||
close IN;
|
||||
|
||||
say $files;
|
||||
|
||||
system ($files);
|
||||
|
||||
sub GetUserDefaults {
|
||||
open (my $defaults, "<:utf8", "User${d}User_defaults.txt") or die "User${d}User_defaults.txt:\n$!";
|
||||
|
||||
while (my $thisLine = <$defaults>) {
|
||||
chomp $thisLine;
|
||||
if ($thisLine =~ /^Text editor: (.*)$/) {
|
||||
$textEditor = $1;
|
||||
}
|
||||
}
|
||||
|
||||
if ($os eq "darwin") {$textEditor = "open -a $textEditor"}
|
||||
say "\$textEditor: $textEditor";
|
||||
die "No text editor found" if $textEditor eq "";
|
||||
|
||||
close $defaults;
|
||||
}
|
||||
|
|
@ -0,0 +1,246 @@
|
|||
# Before running this program, run
|
||||
# find -s . "*.md"
|
||||
# on
|
||||
# /Users/Henry/Documents/git.Door43/en_tn/
|
||||
# and paste the output into dir.dir in that directory
|
||||
|
||||
use 5.12.0;
|
||||
use File::Slurp;
|
||||
use utf8;
|
||||
#use open IN => ":utf8", OUT => ":utf8";
|
||||
use open IO => ":utf8";
|
||||
use Cwd;
|
||||
use File::Find ;
|
||||
|
||||
$" = "\n";
|
||||
|
||||
my ($pwd, $os, $d, $fileSpec, $repoPath) = (cwd(), $^O, "\\", "\.usfm");
|
||||
if ($os eq "linux" || $os eq "darwin") {$d = "/"}
|
||||
|
||||
GetUserDefaults();
|
||||
|
||||
my (@filesToRun, @array);
|
||||
my $filePattern = '*.md' ;
|
||||
my (%abbrev, %full, %ulb);
|
||||
|
||||
find( sub { push @filesToRun, $File::Find::name if ( m/^(.*)$filePattern$/ && !m/(LICENSE|README|intro)\.$filePattern$/ ) }, $repoPath) ;
|
||||
|
||||
my %toDummy = (" \\.\\.\\. ", ".*", "\\?", "QM", "\"", "QD", "\'", "QS", "\!", "XM", "\\(", "QOXP", "\\)", "QCP");
|
||||
my %fromDummy = ("\\.\\*", " ... ", "QM", "?", "QD", "\"", "QS", "'", "XM", "!", "QOXP", "(", "QCP", ")");
|
||||
|
||||
|
||||
open LOG, ">Logs${d}log.log" or die;
|
||||
|
||||
#open output
|
||||
open OUT, ">temp${d}mismatched_snippets.html" or die;
|
||||
|
||||
#Read in ULB
|
||||
|
||||
ReadData();
|
||||
ReadULB();
|
||||
ProcessFiles();
|
||||
|
||||
sub GetUserDefaults {
|
||||
my ($ptte, $tNrepo);
|
||||
open (my $defaults, "<:utf8", "User${d}User_defaults.txt") or die "User${d}User_defaults.txt:\n$!";
|
||||
|
||||
while (my $thisLine = <$defaults>) {
|
||||
chomp $thisLine;
|
||||
if ($thisLine =~ /^translationNotes path: (.*)$/) {
|
||||
$tNrepo = $1
|
||||
} elsif ($thisLine =~ /^Repository directory: (.*)$/) {
|
||||
$repoPath = "$1";
|
||||
}
|
||||
}
|
||||
$tNrepo = "$repoPath${d}$tNrepo";
|
||||
say "\$repoPath: $repoPath";
|
||||
die "No repo path found" if $repoPath eq "";
|
||||
|
||||
close $defaults;
|
||||
}
|
||||
|
||||
|
||||
sub ReadData {
|
||||
while (<DATA>) {
|
||||
chomp;
|
||||
if (/([^\t]*)\t([^\t]*)\t(.*)/) {
|
||||
($abbrev{$3}, $full{$2}) = ($2, $3)
|
||||
}
|
||||
}
|
||||
#foreach my $key (sort keys %abbrev) {say LOG "$key\t$abbrev{$key}"}
|
||||
#foreach my $key (sort keys %full) {say LOG "$key\t$full{$key}"}
|
||||
}
|
||||
|
||||
sub ReadULB {
|
||||
open IN, "Temp${d}ULB_text.txt" or die;
|
||||
my ($checkText, $thisChunkText, $thisRef, $thisBook, $thisChap, $thisVerse, $id, $thisText, $tempText, $thisKey);
|
||||
while (<IN>) {
|
||||
chomp;
|
||||
#say LOG ">$_<";
|
||||
if (/^([^\t]*)\t(.*)$/) {
|
||||
my ($tempID, $tempText) = ($1, $2);
|
||||
#say LOG "<$tempID>\t|$tempText|";
|
||||
#say LOG "\$id, \$thisText\t$id, $thisText";
|
||||
($id) = ($tempID);
|
||||
if ($id =~ /^([^:]*) (\d+):(\d+)/) {
|
||||
($thisBook, $thisChap, $thisVerse) = ($1, $2, $3);
|
||||
if ($thisBook ne "Psalms") {
|
||||
while (length $thisChap < 2) {$thisChap =~ s/^/0/};
|
||||
while (length $thisVerse < 2) {$thisVerse =~ s/^/0/}
|
||||
} else {
|
||||
while (length $thisChap < 3) {$thisChap =~ s/^/0/};
|
||||
while (length $thisVerse < 3) {$thisVerse =~ s/^/0/}
|
||||
}
|
||||
$thisBook = $abbrev{$thisBook};
|
||||
}
|
||||
$id = "$thisBook/$thisChap/$thisVerse";
|
||||
$tempText =~ s/\\f \+.*?\\f\*//g;
|
||||
#say LOG $tempText;
|
||||
$tempText =~ s/ {2,}/ /g;
|
||||
$ulb{$id} .= "$tempText ";
|
||||
$ulb{$id} =~ s/— /—/g;
|
||||
$ulb{$id} =~ s/ —/—/g;
|
||||
#say LOG "\$id = $id\n\$ulb{$id} = $ulb{$id}";
|
||||
}
|
||||
}
|
||||
close IN;
|
||||
#say LOG "Hi";
|
||||
#foreach my $key (sort keys %ulb) {say LOG "|$key|\t<$ulb{$key}>"}
|
||||
}
|
||||
|
||||
# assign passages as values to chunk keys
|
||||
|
||||
#Read in each file
|
||||
sub ProcessFiles {
|
||||
foreach my $slice (@filesToRun) {
|
||||
#say LOG ">>\$slice: $slice<<";
|
||||
my ($thisText, $thisNote, $textReserved, $curRef, $tb, $ct, $vt, $anchor);
|
||||
if ($slice =~ /^.*\/(([^\.]*)\/([^\.]*)\/([^\.]*)).md$/) {
|
||||
$curRef = $1;
|
||||
$anchor = $1;
|
||||
($tb, $ct, $vt) = ($2, $3, $4);
|
||||
$tb = $full{$tb};
|
||||
$ct =~ s/^0+//;
|
||||
$vt =~ s/^0+//;
|
||||
#say LOG ">3>$anchor > $tb $ct:$vt<3<";
|
||||
$thisText = $ulb{$anchor};
|
||||
#say LOG ">5>\$anchor: $anchor; \$thisText:\n$thisText<5<";
|
||||
}
|
||||
#my $tN = read_file("$slice", binmode => 'utf8') or die "|$slice|\n$!";
|
||||
my $tN = read_file("$slice", binmode => 'utf8');
|
||||
#my $tN = read_file("$slice", binmode => 'utf8') or next DoFile;
|
||||
#say LOG ">6>\$slice: $slice; \$tN:\n$tN<6<";
|
||||
foreach my $key (sort keys %toDummy) {
|
||||
#say LOG "$key\t|$toDummy{$key}|";
|
||||
$tN =~ s/$key/$toDummy{$key}/g;
|
||||
$thisText =~ s/$key/$toDummy{$key}/g;
|
||||
}
|
||||
$tN =~ s/# ((General Information|Connecting Statement|translationWords):?)[^\r\n]*\r?\n//g;
|
||||
$tN =~ s/\* \[\[[^\r\n]*\r?\n//g;
|
||||
$tN =~ s/(#[^\r\n]*\r?\n)[^\r\n]*\r?\n[^\r\n]*\r?\n/$1/g;
|
||||
# ">7>\n\n\n\$curRef: $curRef\n\$thisText:$thisText\n\$tN: $tN<7<";
|
||||
while ($tN =~ /# ([^\r\n]*)\r?\n/g) {
|
||||
$thisNote = $1;
|
||||
#say LOG ">8>\t>\t|$thisNote|\n$thisText<8<";
|
||||
$thisText =~ s/ {2,}/ /g;
|
||||
#say LOG ">9>\t>\t|$thisNote|\n$thisText<9<";
|
||||
unless ($thisText =~ /$thisNote/) {
|
||||
say LOG ">A>\n$tb $ct:$vt\n$slice\n$thisNote\n$thisText\n<A<";
|
||||
foreach my $key (sort keys %fromDummy) {
|
||||
$thisNote =~ s/$key/$fromDummy{$key}/g;
|
||||
$thisText =~ s/$key/$fromDummy{$key}/g;
|
||||
}
|
||||
push @array, "\n<p>$tb $ct:$vt</p>\n<p><b>$slice</b></p>\n<p><i>$thisNote</i></p>\n<p>$thisText</p>";
|
||||
#push @array, "\t$thisNote";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
print OUT "<?xml version=\"1.0\" encoding=\"utf-8\"?>
|
||||
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"
|
||||
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
|
||||
<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">
|
||||
<head>
|
||||
<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />
|
||||
<title>Mismatched Snippets</title>
|
||||
<meta name=\"generator\" content=\"BBEdit 8.5\" />
|
||||
</head>
|
||||
<body>
|
||||
@array
|
||||
</body>
|
||||
</html>";
|
||||
close OUT;
|
||||
|
||||
close LOG;
|
||||
|
||||
say "Done.";
|
||||
|
||||
__DATA__
|
||||
01 gen Genesis
|
||||
02 exo Exodus
|
||||
03 lev Leviticus
|
||||
04 num Numbers
|
||||
05 deu Deuteronomy
|
||||
06 jos Joshua
|
||||
07 jdg Judges
|
||||
08 rut Ruth
|
||||
09 1sa 1 Samuel
|
||||
10 2sa 2 Samuel
|
||||
11 1ki 1 Kings
|
||||
12 2ki 2 Kings
|
||||
13 1ch 1 Chronicles
|
||||
14 2ch 2 Chronicles
|
||||
15 ezr Ezra
|
||||
16 neh Nehemiah
|
||||
17 est Esther
|
||||
18 job Job
|
||||
19 psa Psalms
|
||||
20 pro Proverbs
|
||||
21 ecc Ecclesiastes
|
||||
22 sng Song of Songs
|
||||
23 isa Isaiah
|
||||
24 jer Jeremiah
|
||||
25 lam Lamentations
|
||||
26 ezk Ezekiel
|
||||
27 dan Daniel
|
||||
28 hos Hosea
|
||||
29 jol Joel
|
||||
30 amo Amos
|
||||
31 oba Obadiah
|
||||
32 jon Jonah
|
||||
33 mic Micah
|
||||
34 nam Nahum
|
||||
35 hab Habakkuk
|
||||
36 zep Zephaniah
|
||||
37 hag Haggai
|
||||
38 zec Zechariah
|
||||
39 mal Malachi
|
||||
41 mat Matthew
|
||||
42 mrk Mark
|
||||
43 luk Luke
|
||||
44 jhn John
|
||||
45 act Acts
|
||||
46 rom Romans
|
||||
47 1co 1 Corinthians
|
||||
48 2co 2 Corinthians
|
||||
49 gal Galatians
|
||||
50 eph Ephesians
|
||||
51 php Philippians
|
||||
52 col Colossians
|
||||
53 1th 1 Thessalonians
|
||||
54 2th 2 Thessalonians
|
||||
55 1ti 1 Timothy
|
||||
56 2ti 2 Timothy
|
||||
57 tit Titus
|
||||
58 phm Philemon
|
||||
59 heb Hebrews
|
||||
60 jas James
|
||||
61 1pe 1 Peter
|
||||
62 2pe 2 Peter
|
||||
63 1jn 1 John
|
||||
64 2jn 2 John
|
||||
65 3jn 3 John
|
||||
66 jud Jude
|
||||
67 rev Revelation
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,30 @@
|
|||
$bk: Joel
|
||||
$fullBk: |Joel|, $wa{Joel}: ||, $numBk: Joel, $abr: Joe, $bk: |Joel|
|
||||
$fullBk: |Joel|, $bk: |Joel|
|
||||
$abbr: joel
|
||||
|
||||
$wa{Joel}/$ch/$vs: jol/01/08
|
||||
To system:
|
||||
open -a /Applications/BBEdit.app /Users/Henry/Documents/git.Door43/en_tn/jol/01/08.md
|
||||
|
||||
$fullBk: |Obadiah|, $wa{Obadiah}: ||, $numBk: Obad, $abr: Ob, $bk: |Joel|
|
||||
$fullBk: |Jonah|, $wa{Jonah}: ||, $numBk: Jonah, $abr: Jon, $bk: |Joel|
|
||||
$fullBk: |Habakkuk|, $wa{Habakkuk}: ||, $numBk: Hab, $abr: Hab, $bk: |Joel|
|
||||
$fullBk: |Nahum|, $wa{Nahum}: ||, $numBk: Nah, $abr: Na, $bk: |Joel|
|
||||
$fullBk: |Zephaniah|, $wa{Zephaniah}: ||, $numBk: Zeph, $abr: Zep, $bk: |Joel|
|
||||
$fullBk: |Haggai|, $wa{Haggai}: ||, $numBk: Hag, $abr: Hag, $bk: |Joel|
|
||||
$fullBk: |Malachi|, $wa{Malachi}: ||, $numBk: Mal, $abr: Mal, $bk: |Joel|
|
||||
$missingLine: Joel 1:8 5271, $ref: Joel 1:8, $bk: Joel, $ch: 01, $vs: 08
|
||||
|
||||
|
||||
FindVerse |H5271|.
|
||||
$ref: Joel 1:8
|
||||
$fore: Mourn like a virgin dressed in sackcloth for the death of her young husband.
|
||||
|
||||
$precon:
|
||||
Wail <H421> like a virgin <H1330> girded <H2296> with sackcloth <H8242> For the bridegroom <H1167> of her youth <
|
||||
$aft: >.
|
||||
$&: Wail <H421> like a virgin <H1330> girded <H2296> with sackcloth <H8242> For the bridegroom <H1167> of her youth <
|
||||
$preprecon: Wail <H421> like a virgin <H1330> girded <H2296> with sackcloth <H8242> For the bridegroom <H1167> of her
|
||||
$word: youth
|
||||
<<youth>>
|
|
@ -0,0 +1,23 @@
|
|||
$missingLine: Joel 2:23 6666, $ref: , $bk: , $ch: , $vs:
|
||||
|
||||
|
||||
$bk: Joel
|
||||
$fullBk: |Joel|, $wa{Joel}: ||, $numBk: Joel, $abr: Joe, $bk: |Joel|, $lbsBk: Joe
|
||||
$abbr: joel
|
||||
|
||||
$wa{Joel}/$ch/$vs: jol/02/23
|
||||
To system:
|
||||
open -a /Applications/BBEdit.app /Users/Henry/Documents/git.Door43/en_tn/jol/02/23.md
|
||||
|
||||
FindVerse |H6666|.
|
||||
$ref: Joel 2:23
|
||||
$fore: Be glad, people of Zion, and rejoice in Yahweh your God. For he will give you the autumn rain as vindication and bring down showers for you, the autumn rain and the spring rain as before.
|
||||
|
||||
So rejoice <H1523>, O sons <H1121> of Zion <H6726>, And be glad <H8055> in the LORD <H3068> your God <H430>; For He has given <H5414> you the early <H4175a> rain <H4175a> for your vindication <H6666>. And He has poured <H3381> down <H3381> for you the rain <H1653>, The early <H4175a> and latter <H4456> rain <H4456> as before <H7223>.
|
||||
$precon:
|
||||
So rejoice <H1523>, O sons <H1121> of Zion <H6726>, And be glad <H8055> in the LORD <H3068> your God <H430>; For He has given <H5414> you the early <H4175a> rain <H4175a> for your vindication <
|
||||
$aft: >. And He has poured <H3381> down <H3381> for you the rain <H1653>, The early <H4175a> and latter <H4456> rain <H4456> as before <H7223>.
|
||||
$&: So rejoice <H1523>, O sons <H1121> of Zion <H6726>, And be glad <H8055> in the LORD <H3068> your God <H430>; For He has given <H5414> you the early <H4175a> rain <H4175a> for your vindication <
|
||||
$preprecon: So rejoice <H1523>, O sons <H1121> of Zion <H6726>, And be glad <H8055> in the LORD <H3068> your God <H430>; For He has given <H5414> you the early <H4175a> rain <H4175a> for your
|
||||
$word: vindication
|
||||
<<vindication>>
|
|
@ -0,0 +1,127 @@
|
|||
use 5.12.0;
|
||||
use utf8;
|
||||
use Cwd;
|
||||
use File::Slurp;
|
||||
use open IO => ":utf8";
|
||||
$| = 1;
|
||||
$" = "\n";
|
||||
|
||||
my ($pwd, $os, $d, $fileSpec) = (cwd(), $^O, "\\", "\.usfm");
|
||||
if ($os eq "linux" || $os eq "darwin") {$d = "/"}
|
||||
|
||||
my ($inDir, $outDir) = ("", "out");
|
||||
my (@array, @usfmLines);
|
||||
my (%hash);
|
||||
my ($whatami, $inFile);
|
||||
my ($book, $chap, $vers, $text, $outText, $newV, $newC, $newB, $outFile, $usfmText, $metathesis, $repoPath);
|
||||
###
|
||||
|
||||
#if (-e $outDir) {
|
||||
# -d _ || die "$whatami: $outDir is not a directory!\n";
|
||||
# -r _ && -w _ && -x _ || die "$whatami: $outDir is inaccessible!\n";
|
||||
# chdir $outDir;
|
||||
# my $glob = unlink glob "*.*";
|
||||
# chdir "$pwd";
|
||||
#}else{
|
||||
# mkdir($outDir, 0755) || die "$whatami: Can't create $outDir!\n";
|
||||
#}
|
||||
|
||||
open(LOG, ">:utf8", "Logs${d}log.log") or die "$outDir${d}log.log:\n$!";
|
||||
|
||||
GetUserDefaults();
|
||||
|
||||
say LOG "\$inDir: $inDir";
|
||||
chdir("$repoPath");
|
||||
opendir THISDIR, "." or die "serious dainbramage: $!";
|
||||
my @infiles = grep /$fileSpec$/i, readdir *THISDIR;
|
||||
say LOG "\$repoPath: $repoPath, \$fileSpec: $fileSpec\n\@infiles:\n@infiles";
|
||||
closedir THISDIR;
|
||||
chdir("$pwd");
|
||||
ProcessFiles();
|
||||
say "Done.";
|
||||
close LOG;
|
||||
|
||||
sub GetUserDefaults {
|
||||
open (my $defaults, "<:utf8", "User${d}User_defaults.txt") or die "User{d}User_defaults.txt:\n$!";
|
||||
|
||||
my ($ptte, $ptr);
|
||||
while (my $thisLine = <$defaults>) {
|
||||
chomp $thisLine;
|
||||
if ($thisLine =~ /^Repository directory: (.*)$/) {
|
||||
$repoPath = $1
|
||||
}
|
||||
}
|
||||
die "No path to repo found" if $repoPath eq "";
|
||||
|
||||
($repoPath) = ("$repoPath${d}en_ulb");
|
||||
say LOG "\$repoPath: $repoPath";
|
||||
|
||||
close $defaults;
|
||||
}
|
||||
|
||||
|
||||
sub ProcessFiles {
|
||||
say "Processing files";
|
||||
my $thisLine;
|
||||
open(OUT, ">:utf8", "Temp${d}ULB_text.txt") or die "Temp${d}ULB_text.txt:\n$!";
|
||||
my $finalTextForm;
|
||||
@infiles = sort @infiles;
|
||||
foreach $inFile (@infiles) {
|
||||
my $thisFile;
|
||||
$usfmText = read_file("$repoPath${d}$inFile", binmode => 'utf8') or die;
|
||||
$usfmText =~ s/\r?\n([^\\ \r\n])/ $1/g;
|
||||
$usfmText =~ s/\\f \+.*?\\f\*//g;
|
||||
$usfmText =~ s/\\pi/\\p/g;
|
||||
$usfmText =~ s/\\((ide?)|(toc.)|(mt|sp)|(c \\d+))[^\r\n]*\r?\n//g;
|
||||
$usfmText =~ s/\r?\n\\(m|pi?|(q\d?)) ([^\r\n]*)\r\n/$3/g;
|
||||
$usfmText =~ s/ +\n/\n/g;
|
||||
$usfmText =~ s/(\n\\v \d+)\n/$1 \[blank\]\n/g;
|
||||
$usfmText =~ s/ —/—/g;
|
||||
#say LOG $usfmText;
|
||||
#say LOG "$usfmText\n=====\n";
|
||||
@usfmLines = "";
|
||||
@usfmLines = split /\r?\n/, $usfmText;
|
||||
foreach $thisLine (@usfmLines) {
|
||||
chomp $thisLine;
|
||||
#say LOG ">\t$thisLine";
|
||||
$thisLine =~ s/^(\\q)[\t ]$/$1/;
|
||||
#say LOG "<\t$thisLine";
|
||||
$thisLine = SearchAndReplace($thisLine);
|
||||
$thisFile .= $thisLine;
|
||||
}
|
||||
$thisFile =~ s/\r?\n>>\t/ /g;
|
||||
$thisFile =~ s/>\t//g;
|
||||
$thisFile =~ s/(\r?\n){2,}/\n/;
|
||||
$thisFile =~ s/— /—/g;
|
||||
$thisFile =~ s/\\q\d//g;
|
||||
$thisFile =~ s/\\p//g;
|
||||
$thisFile =~ s/\\q //g;
|
||||
$thisFile =~ s/\\qs( .*)\\qs\* ?/$1/g;
|
||||
$thisFile =~ s/\n{2,}/\n/g;
|
||||
$thisFile =~ s/ {2,}/ /g;
|
||||
say OUT $thisFile;
|
||||
}
|
||||
close OUT;
|
||||
}
|
||||
|
||||
sub SearchAndReplace {
|
||||
my $thisxLine = shift;
|
||||
#say LOG $thisxLine;
|
||||
$thisxLine =~ s/\\s5.*$/\n-------\n/;
|
||||
if ($thisxLine =~ s/\\h (.+) *$//) {$book = $1;$newB = 1}
|
||||
elsif ($thisxLine =~ s/\\c (\d+)//) {$chap = $1; $newC = 1}
|
||||
elsif ($thisxLine =~ s/\\v (\d+(-\d+)?) (.*)$/$3/) {
|
||||
#print OUT "\n$outText\n";
|
||||
$vers = $1;
|
||||
$newV = 1;
|
||||
$thisxLine = "\n$book $chap:$vers\t$metathesis$thisxLine";
|
||||
$metathesis = ""
|
||||
#say LOG ">\t<$book> $chap:$vers\t$thisxLine";
|
||||
}
|
||||
elsif ($thisxLine =~ s/^\\q\d? (.*)$/ $1/) {}
|
||||
elsif ($thisxLine =~ s/^\\m (.*)$/ $1/) {}
|
||||
elsif ($thisxLine =~ s/^\\d (.*)//) {$metathesis = "$1 "}
|
||||
elsif ($thisxLine =~ s/^\\[qpm]$//) {}
|
||||
#say LOG $thisxLine;
|
||||
return $thisxLine;
|
||||
}
|
|
@ -0,0 +1,270 @@
|
|||
# Routine to take missing.log entries and link to UGNT and ULB.KJV.Strongs
|
||||
|
||||
use 5.12.0;
|
||||
use File::Slurp;
|
||||
$| = "\n";
|
||||
use utf8;
|
||||
#use open IN => ":utf8", OUT => ":utf8";
|
||||
use open IO => ":utf8";
|
||||
use File::Find ;
|
||||
use Cwd ;
|
||||
|
||||
my ($pwd, $os, $d, $textEditor, $repoPath, $browser) = (cwd(), $^O, "\\");
|
||||
if ($os eq "darwin" || $os eq "linux") {$d = "/"}
|
||||
|
||||
GetUserDefaults();
|
||||
|
||||
my ($outputFiles, $topDir, $txtFile, $dataFile, $displayFile, $filePattern) = (
|
||||
"$repoPath${d}en_tw/bible${d}",
|
||||
"$repoPath${d}en_tw/bible",
|
||||
"Temp${d}ULB_NASB_Strongs.txt",
|
||||
"User${d}tW_work_NT.txt",
|
||||
"Temp${d}mine_results.html",
|
||||
"*\.md"
|
||||
);
|
||||
|
||||
my ($missingLine, $bk, $ch, $vs, $ref, $url, $strong, $word, $flag, $putative, $tNid, $abbr, $doFlag, $usfmFile, $lbsBk);
|
||||
my @tWfiles;
|
||||
|
||||
find( sub { push @tWfiles, $File::Find::name if ( m/^(.*)$filePattern$/ ) }, $topDir) ;
|
||||
|
||||
open LOG, ">:utf8", "Logs${d}mine.log.log" or die;
|
||||
open OUT, ">:utf8", "$displayFile" or die;
|
||||
|
||||
say OUT "<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset=\"UTF-8\"/>
|
||||
</head>
|
||||
<body>
|
||||
";
|
||||
|
||||
ParseLine();
|
||||
FindURL();
|
||||
FindVerse($ref);
|
||||
ChecktWPages($word);
|
||||
Finish();
|
||||
|
||||
say OUT "
|
||||
</body>
|
||||
</html>";
|
||||
close OUT;
|
||||
close LOG;
|
||||
print "\n\tDone.\n\n";
|
||||
|
||||
sub GetUserDefaults {
|
||||
open (my $defaults, "<:utf8", "User${d}User_Defaults.txt") or die "User${d}User_Defaults.txt:\n$!";
|
||||
|
||||
while (my $thisLine = <$defaults>) {
|
||||
chomp $thisLine;
|
||||
if ($thisLine =~ /^Text editor: (.*)$/) {
|
||||
$textEditor = $1;
|
||||
} elsif ($thisLine =~ /^Repository directory: (.*)$/) {
|
||||
$repoPath = $1
|
||||
} elsif ($thisLine =~ /^HTML browser: (.*)$/) {
|
||||
$browser = $1;
|
||||
}
|
||||
}
|
||||
|
||||
say LOG "\$textEditor: $textEditor, \$repoPath: $repoPath";
|
||||
die "No text editor found" if $textEditor eq "";
|
||||
die "No path to repo found" if $repoPath eq "";
|
||||
|
||||
if ($os eq "darwin") {$textEditor = "open -a $textEditor"; $browser = "open -a $browser"}
|
||||
|
||||
close $defaults;
|
||||
}
|
||||
|
||||
sub ParseLine {
|
||||
say "\n\n\033[0;1;31mEnter line from Entries_not_handled.txt:\033[m\n";
|
||||
$missingLine = <STDIN>; # I moved chomp to a new line to make it more readable
|
||||
chomp $missingLine; # Get rid of newline character at the end
|
||||
exit 0 if ($missingLine eq ""); # If empty string, exit.
|
||||
#$missingLine = "Mark 11:6 kt/command";
|
||||
if ($missingLine =~ /^(([^:]*) (\d+):(\d+))\t([^\/]*\/([^\t]*))/) {
|
||||
($ref, $bk, $ch, $vs, $url, $putative) = ($1, $2, $3, $4, $5, $6);
|
||||
$outputFiles .= "${url}.md ";
|
||||
say LOG "\$bk: $bk";
|
||||
open (my $file, "<:utf8", "$dataFile") or die "$dataFile:\n$!";
|
||||
|
||||
while (my $line = <$file>) {
|
||||
chomp $line;
|
||||
if ($line =~ /^(# )?([^\t]*)\t([^\t]*)\t([^\t]*)$/) {
|
||||
my ($fullBk, $numBk, $abr) = ($2, $3, $4);
|
||||
say LOG "\$fullBk: |$fullBk|, \$numBk: $numBk, \$abr: $abr, \$bk: |$bk|";
|
||||
if ($fullBk eq $bk) {
|
||||
say LOG "\$fullBk: |$fullBk|, \$bk: |$bk|";
|
||||
$lbsBk = $abr;
|
||||
if ($numBk =~ /(\d\d)-(...)/) {
|
||||
$abbr = lc $2;
|
||||
say LOG "\$abbr: $abbr";
|
||||
system `open -a /Applications/Logos.app "logos4:TextComparison;ref=BibleESV.$lbsBk${ch}.$vs;res=esv,niv2011,niv,nasb95,nrsv,gs-netbible,nlt,leb,kjv1900"`;
|
||||
my $mxl;
|
||||
if ($bk eq "Psalms?") {$mxl = 3}
|
||||
else {$mxl = 2}
|
||||
while (length $ch < $mxl) {$ch =~ s/^/0/}
|
||||
while (length $vs < $mxl) {$vs =~ s/^/0/}
|
||||
}
|
||||
$usfmFile = "$repoPath${d}UGNT${d}${numBk}.usfm";
|
||||
say LOG "\$abbr${d}\$ch${d}\$vs: $abbr${d}$ch${d}$vs";
|
||||
system `$textEditor $repoPath${d}en_tn${d}$abbr${d}$ch${d}$vs.md`;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
close $file;
|
||||
|
||||
} else {
|
||||
die "\n\tInput unreadable.\n"
|
||||
}
|
||||
say LOG "Looking for $putative in $usfmFile";
|
||||
say LOG "\$missingLine: $missingLine, \$ref: $ref, \$bk: $bk, \$ch: $ch, \$vs: $vs, \$url: $url\n\n";
|
||||
}
|
||||
sub FindURL {
|
||||
|
||||
my ($thisChap, $thisVers);
|
||||
|
||||
open (my $file, "<:utf8", "$usfmFile") or die "$usfmFile:\n$!";
|
||||
|
||||
while (my $line = <$file>) {
|
||||
chomp $line;
|
||||
if ($line =~ /\\mt (.*)$/) {
|
||||
my $thisBook = $1;
|
||||
if ($thisBook eq $bk) {
|
||||
say LOG "\$thisBook: $thisBook\t\$bk: $bk";
|
||||
$doFlag = 1;
|
||||
} else {
|
||||
say LOG "\nThe wrong book is being searched.\n"
|
||||
}
|
||||
} elsif ($doFlag && $line =~ /^\\c (\d+)$/) {
|
||||
$thisChap = $1
|
||||
} elsif ($doFlag && $line =~ /^\\v (\d+)$/) {
|
||||
$thisVers = $1
|
||||
} elsif ($doFlag && $thisChap == $ch && $thisVers == $vs) {
|
||||
say LOG "\$thisChap:\$thisVers: $thisChap:$thisVers \$line: $line";
|
||||
if ($line =~ /strong="([GH]....)(.).*$url/) {
|
||||
say OUT "<p>$line</p>";
|
||||
$strong = $1;
|
||||
my $test = $2;
|
||||
if ($test ne "0") {die "\n\t\tStrong's number won't work.\n\n"}
|
||||
unless ($strong =~ /^.+$/) {die "\nThe Strong's number <$strong> is not found.\n"}
|
||||
while ($strong =~ s/([GH])0/$1/) {}
|
||||
if ($strong =~ /^.+$/) {
|
||||
say OUT "<p><span style=\"color:red\">$strong</span></p>\n";
|
||||
last
|
||||
}
|
||||
} elsif ($line =~ /\\k-s[^\n]*$url/) {
|
||||
say OUT "<p><span style=\"color:red\">$url</span> is part of a phrase</p>\n";
|
||||
$flag = 1;
|
||||
}
|
||||
} elsif ($line =~ /\\mt (.*)$/) {
|
||||
$doFlag = 0
|
||||
}
|
||||
}
|
||||
|
||||
close $file;
|
||||
|
||||
}
|
||||
|
||||
|
||||
sub FindVerse {
|
||||
|
||||
my $fileText = read_file("$txtFile", binmode => 'utf8');
|
||||
|
||||
say LOG "FindVerse |$strong|.";
|
||||
|
||||
if ($flag && $fileText =~ /$ref\t[^\n]*\n[^\n]*\n/) {
|
||||
say LOG "$ref\n$&";
|
||||
say $&;
|
||||
exit 0;
|
||||
} else {
|
||||
if ($fileText =~ /$ref([^\n]*\n )([^\n]*<)$strong(.?>[^\n]*)/) {
|
||||
my ($fore, $precon, $aft) = ($1, $2, $3);
|
||||
say LOG "\$ref: $ref\n\$fore: $fore\n\$precon:\n$precon\n\$aft: $aft";
|
||||
my $preprecon;
|
||||
if ($precon =~ /^(.*([,>\w\'\"\- —;] |['";\.\?\!]))([\w\-]+) (<[^<>]*> )?<$/) {
|
||||
($preprecon, $word) = ($1, $3);
|
||||
say LOG "\$&: $&\n\$preprecon: $preprecon\n\$word: $word";
|
||||
}
|
||||
$preprecon =~ s/</</g;
|
||||
$preprecon =~ s/>/>/g;
|
||||
$aft =~ s/</</g;
|
||||
$aft =~ s/>/>/g;
|
||||
say OUT "<p>$ref$fore</p>\n<p>$preprecon<span style=\"color:red\">$word</span> <<span style=\"color:red\">$strong</span>$aft</p>\n";
|
||||
}
|
||||
else {
|
||||
say OUT "<p>The Strong's code <<<span style=\"color:red\">$strong</span>>> is not found in $ref.</p>";
|
||||
say OUT "<p>${ref}\\t[^\\n]*\\n[^\\n]*</p>";
|
||||
#system ("bbfind -g \"${ref}\\t[^\\n]*\\n[^\\n]*\" 'data${d}ULB_NASB_Strongs.txt'") or die "$!";
|
||||
|
||||
system ("find $topDir -name \"*.md\" -exec grep -H --color \"$strong\[, \\n\\r\]\" {} \\;");
|
||||
#system ("find $topDir -name \"*.md\" -exec grep -H --color \"$strong\$\" {} \\;");
|
||||
}
|
||||
}
|
||||
return $word;
|
||||
}
|
||||
|
||||
sub ChecktWPages{
|
||||
|
||||
say LOG "<<$word>>";
|
||||
die "\n\$word is empty.\n" if $word eq "";
|
||||
my $topDir = "$repoPath${d}en_tw${d}bible";
|
||||
|
||||
foreach my $file ( @tWfiles ) {
|
||||
my $fileText = read_file("$file", binmode => 'utf8');
|
||||
# While finds entries and Strong's numbers
|
||||
while ($fileText =~ /($strong)[^\d]|^(# [^\n]*\b$word\b)/g) {
|
||||
#system `clear`;
|
||||
my $abb = $file;
|
||||
$abb =~ s/.md$//;
|
||||
say OUT "<p>$abb</p>\n";
|
||||
$outputFiles .= "$file "
|
||||
}
|
||||
}
|
||||
}
|
||||
sub Finish {
|
||||
say "\nLooking for $strong.";
|
||||
# find $topDir -name "*.md" -exec grep -H '($strong[^\d]|$strong$)' {} +
|
||||
#system ("find $topDir -name \"*.md\" -exec grep -H --color \"$strong\[, \\n\\r\]\" {} \\;");
|
||||
|
||||
foreach my $file ( @tWfiles ) {
|
||||
my $fileText = read_file("$file", binmode => 'utf8');
|
||||
# While finds entries and Strong's numbers
|
||||
if ($fileText =~ /([^\n]*)($strong)([^\n]*)/g) {
|
||||
my ($pre, $found, $post) = ($1, $2, $3);
|
||||
my $abb = $file;
|
||||
$abb =~ s/.md$//;
|
||||
say OUT "<p>$abb: $pre<span style=\"color:red\">$found</span>$post</p>\n";
|
||||
$outputFiles .= "$file "
|
||||
}
|
||||
}
|
||||
say "\nLooking for $putative.";
|
||||
foreach my $file ( @tWfiles ) {
|
||||
my $fileText = read_file("$file", binmode => 'utf8');
|
||||
# While finds entries and Strong's numbers
|
||||
if ($fileText =~ /#{1,1} ([^\n]*)(\b$putative\b)([^\n]*)/g) {
|
||||
my ($pre, $found, $post) = ($1, $2, $3);
|
||||
my $abb = $file;
|
||||
$abb =~ s/.md$//;
|
||||
say OUT "<p>$abb: $pre<span style=\"color:red\">$found</span>$post</p>\n";
|
||||
$outputFiles .= "$file "
|
||||
}
|
||||
}
|
||||
say "\nLooking for $word.";
|
||||
foreach my $file ( @tWfiles ) {
|
||||
my $fileText = read_file("$file", binmode => 'utf8');
|
||||
# While finds entries and Strong's numbers
|
||||
if ($fileText =~ /#{1,1} ([^\n]*)(\b$word\b)([^\n]*)/g) {
|
||||
my ($pre, $found, $post) = ($1, $2, $3);
|
||||
my $abb = $file;
|
||||
$abb =~ s/.md$//;
|
||||
say OUT "<p>$abb: $pre<span style=\"color:red\">$found</span>$post</p>\n";
|
||||
$outputFiles .= "$file "
|
||||
}
|
||||
}
|
||||
say "Opening .md files.";
|
||||
system `$browser https://www.blueletterbible.org/lang/lexicon/lexicon.cfm?strongs=$strong`;
|
||||
say "\$browser: $browser, \$displayFile: $displayFile, \$textEditor: $textEditor \$outputFiles: $outputFiles";
|
||||
system `$browser $displayFile`;
|
||||
system `$textEditor $outputFiles`;
|
||||
}
|
|
@ -0,0 +1,228 @@
|
|||
# Routine to take missing.log entries and link to UGNT and ULB.KJV.Strongs
|
||||
|
||||
use 5.12.0;
|
||||
use File::Slurp;
|
||||
$| = "\n";
|
||||
use utf8;
|
||||
#use open IN => ":utf8", OUT => ":utf8";
|
||||
use open IO => ":utf8";
|
||||
use File::Find ;
|
||||
use Cwd ;
|
||||
|
||||
my ($pwd, $os, $d, $textEditor, $repoPath) = (cwd(), $^O, "\\");
|
||||
if ($os eq "darwin" || $os eq "linux") {$d = "/"}
|
||||
|
||||
open OUT, ">:utf8", "Temp${d}mine_results.html" or die;
|
||||
#binmode(STDOUT, "encoding(UTF-8)");
|
||||
|
||||
GetUserDefaults();
|
||||
|
||||
my ($outputFiles, $topDir, $usfmFile, $txtFile, $lbsBk, $dataFile, $doFlag) = (
|
||||
"$repoPath${d}en_tw/bible${d}",
|
||||
"$repoPath${d}en_tw/bible",
|
||||
"",
|
||||
"Temp${d}ULB.NASB.Strongs.txt",
|
||||
"",
|
||||
"User${d}tW_work_NT.txt"
|
||||
);
|
||||
|
||||
my ($missingLine, $bk, $ch, $vs, $ref, $url, $strong, $word, $flag, $putative, $tNid, $abbr);
|
||||
|
||||
open LOG, ">:utf8", "Logs${d}mine.log.log" or die;
|
||||
#open OUT, ">:utf8", $outputFile or die;
|
||||
|
||||
ParseLine();
|
||||
FindURL();
|
||||
FindVerse($ref);
|
||||
ChecktWPages($word);
|
||||
Finish();
|
||||
#close OUT;
|
||||
close LOG;
|
||||
|
||||
print "\n\tDone.\n\n";
|
||||
|
||||
sub GetUserDefaults {
|
||||
open (my $defaults, "<:utf8", "data${d}UserDefaults") or die "data${d}UserDefaults:\n$!";
|
||||
|
||||
while (my $thisLine = <$defaults>) {
|
||||
chomp $thisLine;
|
||||
if ($thisLine =~ /^Text editor: (.*)$/) {
|
||||
$textEditor = $1;
|
||||
} elsif ($thisLine =~ /^Repository directory: (.*)$/) {
|
||||
$repoPath = $1
|
||||
}
|
||||
}
|
||||
|
||||
say LOG "\$textEditor: $textEditor, \$repoPath: $repoPath";
|
||||
die "No text editor found" if $textEditor eq "";
|
||||
die "No path to repo found" if $repoPath eq "";
|
||||
|
||||
if ($os eq "darwin") {$textEditor = "open -a $textEditor"}
|
||||
|
||||
close $defaults;
|
||||
}
|
||||
|
||||
sub ParseLine {
|
||||
say OUT "\n\n\033[0;1;31mEnter line from missing.log:\033[m\n";
|
||||
$missingLine = <STDIN>; # I moved chomp to a new line to make it more readable
|
||||
chomp $missingLine; # Get rid of newline character at the end
|
||||
exit 0 if ($missingLine eq ""); # If empty string, exit.
|
||||
#$missingLine = "Mark 11:6 kt/command";
|
||||
if ($missingLine =~ /^(([^:]*) (\d+):(\d+))\t([^\/]*\/([^\t]*))/) {
|
||||
($ref, $bk, $ch, $vs, $url, $putative) = ($1, $2, $3, $4, $5, $6);
|
||||
$outputFiles .= "${url}.md ";
|
||||
say LOG "\$bk: $bk";
|
||||
open (my $file, "<:utf8", "$dataFile") or die "$dataFile:\n$!";
|
||||
|
||||
while (my $line = <$file>) {
|
||||
chomp $line;
|
||||
if ($line =~ /^(# )?([^\t]*)\t([^\t]*)\t([^\t]*)$/) {
|
||||
my ($fullBk, $numBk, $abr) = ($2, $3, $4);
|
||||
say LOG "\$fullBk: |$fullBk|, \$numBk: $numBk, \$abr: $abr, \$bk: |$bk|";
|
||||
if ($fullBk eq $bk) {
|
||||
say LOG "\$fullBk: |$fullBk|, \$bk: |$bk|";
|
||||
$lbsBk = $abr;
|
||||
if ($numBk =~ /(\d\d)-(...)/) {
|
||||
$abbr = lc $2;
|
||||
say LOG "\$abbr: $abbr";
|
||||
my $mxl;
|
||||
if ($bk eq "Psalms?") {$mxl = 3}
|
||||
else {$mxl = 2}
|
||||
while (length $ch < $mxl) {$ch =~ s/^/0/}
|
||||
while (length $vs < $mxl) {$vs =~ s/^/0/}
|
||||
}
|
||||
$usfmFile = "$repoPath${d}UGNT${d}${numBk}.usfm";
|
||||
say LOG "\$abbr${d}\$ch${d}\$vs: $abbr${d}$ch${d}$vs";
|
||||
system `$textEditor $repoPath${d}en_tn${d}$abbr${d}$ch${d}$vs.md`;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
close $file;
|
||||
|
||||
} else {
|
||||
die "\n\tInput unreadable.\n"
|
||||
}
|
||||
say LOG "Looking for $putative in $usfmFile";
|
||||
say LOG "\$missingLine: $missingLine, \$ref: $ref, \$bk: $bk, \$ch: $ch, \$vs: $vs, \$url: $url\n\n";
|
||||
#system `open -a /Applications/Logos.app "logosres:esv;ref=BibleESV.$lbsBk${ch}.$vs"`;
|
||||
system `open -a /Applications/Logos.app "logos4:TextComparison;ref=BibleESV.$lbsBk${ch}.$vs;res=esv,niv2011,niv,nasb95,nrsv,gs-netbible,nlt,leb,kjv1900"
|
||||
`;
|
||||
}
|
||||
sub FindURL {
|
||||
|
||||
my ($thisChap, $thisVers);
|
||||
|
||||
open (my $file, "<:utf8", "$usfmFile") or die "$usfmFile:\n$!";
|
||||
|
||||
while (my $line = <$file>) {
|
||||
chomp $line;
|
||||
if ($line =~ /\\mt (.*)$/) {
|
||||
my $thisBook = $1;
|
||||
if ($thisBook eq $bk) {
|
||||
say LOG "\$thisBook: $thisBook\t\$bk: $bk";
|
||||
$doFlag = 1;
|
||||
} else {
|
||||
say LOG "\nThe wrong book is being searched.\n"
|
||||
}
|
||||
} elsif ($doFlag && $line =~ /^\\c (\d+)$/) {
|
||||
$thisChap = $1
|
||||
} elsif ($doFlag && $line =~ /^\\v (\d+)$/) {
|
||||
$thisVers = $1
|
||||
} elsif ($doFlag && $thisChap == $ch && $thisVers == $vs) {
|
||||
say LOG "$thisChap:$thisVers $line";
|
||||
if ($line =~ /strong="([GH]....)(.).*$url/) {
|
||||
say OUT "\n\$line:\n$line\n";
|
||||
$strong = $1;
|
||||
my $test = $2;
|
||||
if ($test ne "0") {die "\n\t\tStrong's number won't work.\n\n"}
|
||||
unless ($strong =~ /^.+$/) {die "\nThe Strong's number <$strong> is not found.\n"}
|
||||
while ($strong =~ s/([GH])0/$1/) {}
|
||||
if ($strong =~ /^.+$/) {
|
||||
say OUT "\033[0;1;31m$strong\033[m\n";
|
||||
last
|
||||
}
|
||||
} elsif ($line =~ /\\k-s[^\n]*$url/) {
|
||||
say OUT "\n\t$url is part of a phrase\n";
|
||||
$flag = 1;
|
||||
}
|
||||
} elsif ($line =~ /\\mt (.*)$/) {
|
||||
$doFlag = 0
|
||||
}
|
||||
}
|
||||
|
||||
close $file;
|
||||
|
||||
}
|
||||
|
||||
|
||||
sub FindVerse {
|
||||
|
||||
my $fileText = read_file("$txtFile", binmode => 'utf8');
|
||||
|
||||
say LOG "FindVerse |$strong|.";
|
||||
|
||||
if ($flag && $fileText =~ /$ref\t[^\n]*\n[^\n]*\n/) {
|
||||
say LOG "$ref\n$&";
|
||||
say $&;
|
||||
exit 0;
|
||||
} else {
|
||||
if ($fileText =~ /$ref([^\n]*\n )([^\n]*<)$strong(.?>[^\n]*)/) {
|
||||
my ($fore, $precon, $aft) = ($1, $2, $3);
|
||||
say LOG "\$ref: $ref\n\$fore: $fore\n\$precon:\n$precon\n\$aft: $aft";
|
||||
my $preprecon;
|
||||
if ($precon =~ /^(.*([,>\w\'\"\- —;] |['";\.\?\!]))([\w\-]+) (<[^<>]*> )?<$/) {
|
||||
($preprecon, $word) = ($1, $3);
|
||||
say LOG "\$&: $&\n\$preprecon: $preprecon\n\$word: $word";
|
||||
}
|
||||
say "$ref$fore$preprecon\033[0;0;32m$word\033[m <\033[0;1;31m$strong\033[m$aft\n";
|
||||
}
|
||||
else {
|
||||
say "\n\nThe Strong's code <<$strong>> is not found in $ref.\n\n";
|
||||
system ("bbfind -g \"${ref}\\t[^\\n]*\\n[^\\n]*\" 'data${d}ULB.NASB.Strongs.txt'") or die "$!";
|
||||
system ("find $topDir -name \"*.md\" -exec grep -H --color \"$strong\[, \\n\\r\]\" {} \\;");
|
||||
}
|
||||
}
|
||||
return $word;
|
||||
}
|
||||
|
||||
sub ChecktWPages{
|
||||
|
||||
say LOG "<<$word>>";
|
||||
die "\n\$word is empty.\n" if $word eq "";
|
||||
my $topDir = "$repoPath${d}en_tw${d}bible";
|
||||
|
||||
my @filesToRun = ();
|
||||
my $filePattern = '*.md' ;
|
||||
find( sub { push @filesToRun, $File::Find::name if ( m/^(.*)$filePattern$/ ) }, $topDir) ;
|
||||
|
||||
foreach my $file ( @filesToRun ) {
|
||||
my $fileText = read_file("$file", binmode => 'utf8');
|
||||
# While finds entries and Strong's numbers
|
||||
while ($fileText =~ /($strong)[^\d]|^(# [^\n]*\b$word\b)/g) {
|
||||
#system `clear`;
|
||||
my $abb = $file;
|
||||
$abb =~ s/.md$//;
|
||||
say "\033[0;1;31m$abb\033[m";
|
||||
$outputFiles .= "$file "
|
||||
}
|
||||
}
|
||||
}
|
||||
sub Finish {
|
||||
say "\nLooking for $strong.";
|
||||
# find $topDir -name "*.md" -exec grep -H '($strong[^\d]|$strong$)' {} +
|
||||
system ("find $topDir -name \"*.md\" -exec grep -H --color \"$strong\[, \\n\\r\]\" {} \\;");
|
||||
system ("find $topDir -name \"*.md\" -exec grep -H --color \"$strong\$\" {} \\;");
|
||||
#system ("find $topDir -name \"*.md\" -exec grep -H --color \"\($strong\[, \\n\\r\]\|$strong\$\)\" {} \\;");
|
||||
say "\nLooking for $putative.";
|
||||
#system ("find $topDir -name \"*.md\" -exec grep -Hi --color \"^# $putative\[^A-Za-z\]\" {} \\;");
|
||||
#system ("find $topDir -name \"*.md\" -exec grep -Hi --color \"^# .*\[^A-Za-z\]$putative\[^A-Za-z\]\" {} \\;");
|
||||
system ("find $topDir -name \"*.md\" -exec egrep -Hi --color \"^# (.*\[^A-Za-z\])?$putative\[^A-Za-z\]\" {} \\;");
|
||||
say "\nLooking for $word.";
|
||||
#system ("find $topDir -name \"*.md\" -exec grep -Hi --color \"^#$word\[^A-Za-z\]\" {} \\;");
|
||||
#system ("find $topDir -name \"*.md\" -exec grep -Hi --color \"^# .*\[^A-Za-z\]$word\[^A-Za-z\]\" {} \\;");
|
||||
system ("find $topDir -name \"*.md\" -exec egrep -Hi --color \"^# (.*\[^A-Za-z\])?$word\[^A-Za-z\]\" {} \\;");
|
||||
say "Opening .md files.";
|
||||
system `open -a /Applications/Firefox.app https://www.blueletterbible.org/lang/lexicon/lexicon.cfm?strongs=$strong`;
|
||||
system `open -a /Applications/BBEdit.app $outputFiles`;
|
||||
}
|
|
@ -0,0 +1,222 @@
|
|||
# Routine to take missing.log entries and link to UGNT and ULB.KJV.Strongs
|
||||
|
||||
use 5.12.0;
|
||||
use File::Slurp;
|
||||
$| = "\n";
|
||||
use utf8;
|
||||
#use open IN => ":utf8", OUT => ":utf8";
|
||||
use open IO => ":utf8";
|
||||
use File::Find ;
|
||||
use Cwd ;
|
||||
|
||||
my ($pwd, $os, $d, $textEditor, $repoPath, $browser) = (cwd(), $^O, "\\");
|
||||
if ($os eq "darwin" || $os eq "linux") {$d = "/"}
|
||||
|
||||
GetUserDefaults();
|
||||
|
||||
my ($excFile, $topDir, $txtFile, $dataFile, $displayFile, $filePattern, $sn, $xfAbr) = (
|
||||
"Exceptions${d}Exceptions_tWs_from_OSHB.txt",
|
||||
"$repoPath${d}en_tw/bible",
|
||||
"Temp${d}ULB_NASB_Strongs.txt",
|
||||
"User${d}tW_work_OT.txt",
|
||||
"Temp${d}mine_results.html",
|
||||
"*\.md"
|
||||
);
|
||||
|
||||
my ($missingLine, $bk, $ch, $vs, $ref, $strong, $word, $flag, $tNid, $abbr, $doFlag, $xmlFile, $outputFiles, $lbsBk);
|
||||
my (%bkAbr, %wa);
|
||||
my @tWfiles;
|
||||
|
||||
find( sub { push @tWfiles, $File::Find::name if ( m/^(.*)$filePattern$/ ) }, $topDir) ;
|
||||
|
||||
open LOG, ">:utf8", "Logs${d}mine_log.log" or die;
|
||||
open OUT, ">:utf8", "$displayFile" or die;
|
||||
|
||||
say OUT "<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset=\"UTF-8\"/>
|
||||
</head>
|
||||
<body>
|
||||
";
|
||||
|
||||
ParseLine();
|
||||
FindVerse($ref);
|
||||
ChecktWPages($word);
|
||||
Finish();
|
||||
|
||||
say OUT "
|
||||
</body>
|
||||
</html>";
|
||||
close OUT;
|
||||
close LOG;
|
||||
print "\n\tDone.\n\n";
|
||||
|
||||
sub GetUserDefaults {
|
||||
open (my $defaults, "<:utf8", "User${d}User_Defaults.txt") or die "User${d}User_Defaults.txt:\n$!";
|
||||
|
||||
while (my $thisLine = <$defaults>) {
|
||||
chomp $thisLine;
|
||||
if ($thisLine =~ /^Text editor: (.*)$/) {
|
||||
$textEditor = $1;
|
||||
} elsif ($thisLine =~ /^Repository directory: (.*)$/) {
|
||||
$repoPath = $1
|
||||
} elsif ($thisLine =~ /^HTML browser: (.*)$/) {
|
||||
$browser = $1;
|
||||
}
|
||||
}
|
||||
|
||||
say LOG "\$textEditor: $textEditor, \$repoPath: $repoPath";
|
||||
die "No text editor found" if $textEditor eq "";
|
||||
die "No path to repo found" if $repoPath eq "";
|
||||
|
||||
if ($os eq "darwin") {$textEditor = "open -a $textEditor"; $browser = "open -a $browser"}
|
||||
|
||||
close $defaults;
|
||||
}
|
||||
|
||||
sub ParseLine {
|
||||
say "\n\n\033[0;1;31mEnter line from Entries_not_handled.txt:\033[m\n";
|
||||
my ($sch, $svs);
|
||||
$missingLine = <STDIN>; # I moved chomp to a new line to make it more readable
|
||||
chomp $missingLine; # Get rid of newline character at the end
|
||||
exit 0 if ($missingLine eq ""); # If empty string, exit.
|
||||
#$missingLine = "Zephaniah 1:2 5486";
|
||||
if ($missingLine =~ /^(([^:]*) (\d+):(\d+))\t(\d+)/) {
|
||||
say LOG "\$missingLine: $missingLine, \$ref: $ref, \$bk: $bk, \$ch: $ch, \$vs: $vs\n\n";
|
||||
($ref, $bk, $ch, $vs, $sn, $xfAbr) = ($1, $2, $3, $4, $5, $bkAbr{$1});
|
||||
($sch, $svs) = ($ch, $vs);
|
||||
$strong = "H$sn";
|
||||
say LOG "\$bk: $bk";
|
||||
open (my $file, "<:utf8", "$dataFile") or die "$dataFile:\n$!";
|
||||
|
||||
while (my $line = <$file>) {
|
||||
chomp $line;
|
||||
if ($line =~ /^(# )?([^\t]*)\t([^\t]*)\t([^\t]*)\t([^\t]*)$/) {
|
||||
my ($fullBk, $wabbr, $numBk, $abr, $lbsBk) = ($2, $3, $4, $5, $5);
|
||||
if ($fullBk eq $bk) {
|
||||
say LOG "\$fullBk: |$fullBk|, \$wa{$fullBk}: |$wa{$fullBk}|, \$numBk: $numBk, \$abr: $abr, \$bk: |$bk|, \$lbsBk: $lbsBk";
|
||||
($wa{$fullBk}) = ($wabbr);
|
||||
$abbr = lc $numBk;
|
||||
say LOG "\$abbr: $abbr";
|
||||
my $mxl = 2;
|
||||
if ($bk eq "Psalms?") {$mxl = 3}
|
||||
while (length $ch < $mxl) {$ch =~ s/^/0/}
|
||||
while (length $vs < $mxl) {$vs =~ s/^/0/}
|
||||
$xmlFile = "$repoPath/OSHB/${numBk}.xml";
|
||||
say LOG "\n\$wa{$fullBk}/\$ch/\$vs: $wa{$fullBk}/$ch/$vs\nTo system:\n$textEditor $repoPath/en_tn/$wa{$fullBk}/$ch/$vs.md\n";
|
||||
system `$textEditor $repoPath/en_tn/$wa{$fullBk}/$ch/$vs.md`;
|
||||
#say "open -a /Applications/Logos.app \"logos4:TextComparison;ref=BibleBHS.$lbsBk${sch}.$svs;res=esv,niv2011,niv,nasb95,nrsv,gs-netbible,nlt,leb,kjv1900\"";
|
||||
system `open -a /Applications/Logos.app "logos4:TextComparison;ref=BibleNIV.$lbsBk${sch}.$svs;res=esv,niv2011,niv,nasb95,nrsv,gs-netbible,nlt,leb,kjv1900"`;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
close $file;
|
||||
|
||||
} else {
|
||||
die "\n\tInput unreadable.\n"
|
||||
}
|
||||
#system `open -a /Applications/Logos.app "logosres:esv;ref=BibleESV.$lbsBk${ch}.$vs"`;
|
||||
}
|
||||
|
||||
|
||||
sub FindVerse {
|
||||
|
||||
my $fileText = read_file("$txtFile", binmode => 'utf8');
|
||||
|
||||
say LOG "FindVerse |$strong|.";
|
||||
|
||||
if ($flag && $fileText =~ /$ref\t[^\n]*\n[^\n]*\n/) {
|
||||
say LOG "$ref\n$&";
|
||||
say $&;
|
||||
exit 0;
|
||||
} else {
|
||||
if ($fileText =~ /$ref([^\n]*\n )(([^\n]*<)$strong(.?>[^\n]*))/) {
|
||||
my ($fore, $allNasb, $precon, $aft) = ($1, $2, $3, $4);
|
||||
say LOG "\$ref: $ref\n\$fore: $fore\n$allNasb\n\$precon:\n$precon\n\$aft: $aft";
|
||||
my $preprecon;
|
||||
if ($precon =~ /^(.*([,>\w\'\"\- —;] |[";\.\?\!]))([\w\'\-]+) (<[^<>]*> ){0,}<$/) {
|
||||
($preprecon, $word) = ($1, $3);
|
||||
say LOG "\$&: $&\n\$preprecon: $preprecon\n\$word: $word";
|
||||
} elsif ($precon =~ /^(\w+) <$/) {
|
||||
($preprecon, $word) = ("", $1);
|
||||
} elsif ($precon =~ /^(.*)\b(\w+)\b <$/) {
|
||||
($preprecon, $word) = ($1, $2);
|
||||
}
|
||||
$preprecon =~ s/</</g;
|
||||
$preprecon =~ s/>/>/g;
|
||||
$aft =~ s/</</g;
|
||||
$aft =~ s/>/>/g;
|
||||
say OUT "<p>$ref$fore</p>\n<p>$preprecon<span style=\"color:red\">$word</span> <<span style=\"color:red\">$strong</span>$aft</p>\n";
|
||||
}
|
||||
else {
|
||||
say OUT "<p>The Strong's code <<<span style=\"color:red\">$strong</span>>> is not found in $ref.</p>";
|
||||
say OUT "<p>${ref}\\t[^\\n]*\\n[^\\n]*</p>";
|
||||
#system ("bbfind -g \"${ref}\\t[^\\n]*\\n[^\\n]*\" 'data${d}ULB_NASB_Strongs.txt'") or die "$!";
|
||||
|
||||
system ("find $topDir -name \"*.md\" -exec grep -H --color \"$strong\[, \\n\\r\]\" {} \\;");
|
||||
#system ("find $topDir -name \"*.md\" -exec grep -H --color \"$strong\$\" {} \\;");
|
||||
}
|
||||
}
|
||||
return $word;
|
||||
}
|
||||
|
||||
sub ChecktWPages{
|
||||
|
||||
say LOG "<<$word>>";
|
||||
die "\n\$word is empty.\n" if $word eq "";
|
||||
my $topDir = "$repoPath${d}en_tw${d}bible";
|
||||
say OUT "<p>";
|
||||
foreach my $file ( @tWfiles ) {
|
||||
my $fileText = read_file("$file", binmode => 'utf8');
|
||||
# While finds entries and Strong's numbers
|
||||
while ($fileText =~ /($strong)[^\d]|^(# [^\n]*\b$word\b)/g) {
|
||||
#system `clear`;
|
||||
my $abb = $file;
|
||||
$abb =~ s/.md$//;
|
||||
say OUT "$abb<br />\n";
|
||||
$outputFiles .= "$file "
|
||||
}
|
||||
}
|
||||
say OUT "</p>";
|
||||
}
|
||||
sub Finish {
|
||||
say "\nLooking for $strong.";
|
||||
# find $topDir -name "*.md" -exec grep -H '($strong[^\d]|$strong$)' {} +
|
||||
#system ("find $topDir -name \"*.md\" -exec grep -H --color \"$strong\[, \\n\\r\]\" {} \\;");
|
||||
|
||||
say OUT "<p>";
|
||||
foreach my $file ( @tWfiles ) {
|
||||
my $fileText = read_file("$file", binmode => 'utf8');
|
||||
# While finds entries and Strong's numbers
|
||||
if ($fileText =~ /([^\n]*)($strong\b)([^\n]*)/g) {
|
||||
my ($pre, $found, $post) = ($1, $2, $3);
|
||||
my $abb = $file;
|
||||
$abb =~ s/.md$//;
|
||||
say OUT "$abb: $pre<span style=\"color:red\">$found</span>$post<br />\n";
|
||||
$outputFiles .= "$file "
|
||||
}
|
||||
}
|
||||
say OUT "</p>";
|
||||
say "\nLooking for $word.";
|
||||
say OUT "<p>";
|
||||
foreach my $file ( @tWfiles ) {
|
||||
my $fileText = read_file("$file", binmode => 'utf8');
|
||||
# While finds entries and Strong's numbers
|
||||
if ($fileText =~ /#{1,1} ([^\n]*)(\b$word\b)([^\n]*)/g) {
|
||||
my ($pre, $found, $post) = ($1, $2, $3);
|
||||
my $abb = $file;
|
||||
$abb =~ s/.md$//;
|
||||
say OUT "$abb: $pre<span style=\"color:red\">$found</span>$post<br />\n";
|
||||
$outputFiles .= "$file "
|
||||
}
|
||||
}
|
||||
say OUT "</p>";
|
||||
say "\nOpening .md files.";
|
||||
system `$browser https://www.blueletterbible.org/lang/lexicon/lexicon.cfm?strongs=$strong`;
|
||||
#say "\$browser: $browser, \$displayFile: $displayFile, \$textEditor: $textEditor \$outputFiles: $outputFiles";
|
||||
#system `$browser $displayFile`;
|
||||
system `$textEditor $outputFiles`;
|
||||
system `$textEditor $excFile`;
|
||||
}
|
|
@ -0,0 +1,166 @@
|
|||
# Routine to take missing.log entries and link to UGNT and ULB.KJV.Strongs
|
||||
|
||||
use 5.12.0;
|
||||
use File::Slurp;
|
||||
$| = "\n";
|
||||
use utf8;
|
||||
#use open IN => ":utf8", OUT => ":utf8";
|
||||
use open IO => ":utf8";
|
||||
use File::Find ;
|
||||
use Cwd ;
|
||||
|
||||
binmode(STDOUT, "encoding(UTF-8)");
|
||||
|
||||
|
||||
my ($outputFiles, $topDir, $xmlFile, $txtFile, $lbsBk, $dataFile, $xmlDir, $doFlag) = (
|
||||
"/Users/Henry/Documents/git.Door43/en_tw/bible/",
|
||||
"/Users/Henry/Documents/git.Door43/en_tw/bible",
|
||||
"",
|
||||
"/Users/Henry/Google Drive/WA/Test/data/ULB.NASB.Strongs.txt",
|
||||
"",
|
||||
"/Users/Henry/Google Drive/WA/Test/data/tW.work.OT.dat",
|
||||
"/Users/Henry/Google Drive/WA/OSHB"
|
||||
);
|
||||
|
||||
my ($missingLine, $bk, $ch, $vs, $ref, $sn, $strong, $word, $flag, $tNid, $abbr, $xfAbr);
|
||||
my (%bkAbr, %bkFull, %wa);
|
||||
|
||||
open LOG, ">:utf8", "/Users/Henry/Google Drive/WA/Test/out/mine.log.log" or die;
|
||||
#open OUT, ">:utf8", $outputFile or die;
|
||||
|
||||
while (<DATA>) {
|
||||
chomp;
|
||||
if (/([^\t]*)\t([^\t]*)\t([^\t]*)/) {
|
||||
$bkAbr{$1} = $2;
|
||||
$bkFull{$2} = $1;
|
||||
$wa{$1} = $3;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
ParseLine();
|
||||
#FindURL();
|
||||
FindVerse($ref);
|
||||
#ChecktWPages($word);
|
||||
#Finish();
|
||||
#close OUT;
|
||||
close LOG;
|
||||
|
||||
print "\n\tDone.\n\n";
|
||||
|
||||
sub ParseLine {
|
||||
say "\n\n\033[0;1;31mEnter line from missing.log:\033[m\n";
|
||||
$missingLine = <STDIN>; # I moved chomp to a new line to make it more readable
|
||||
chomp $missingLine; # Get rid of newline character at the end
|
||||
exit 0 if ($missingLine eq ""); # If empty string, exit.
|
||||
#$missingLine = "Mark 11:6 kt/command";
|
||||
if ($missingLine =~ /^(([^:]*) (\d+):(\d+))\t(\d+)/) {
|
||||
($ref, $bk, $ch, $vs, $sn, $xfAbr) = ($1, $2, $3, $4, $5, $bkAbr{$1});
|
||||
say LOG "\$bk: $bk";
|
||||
open (my $file, "<:utf8", "$dataFile") or die "$dataFile:\n$!";
|
||||
|
||||
while (my $line = <$file>) {
|
||||
chomp $line;
|
||||
if ($line =~ /^(# )?([^\t]*)\t([^\t]*)\t([^\t]*)$/) {
|
||||
my ($fullBk, $numBk, $abr) = ($2, $3, $4);
|
||||
say LOG "\$fullBk: |$fullBk|, \$numBk: $numBk, \$abr: $abr, \$bk: |$bk|";
|
||||
if ($fullBk eq $bk) {
|
||||
say LOG "\$fullBk: |$fullBk|, \$bk: |$bk|";
|
||||
$lbsBk = $abr;
|
||||
$abbr = lc $numBk;
|
||||
say LOG "\$abbr: $abbr";
|
||||
my $mxl;
|
||||
if ($bk eq "Psalms?") {$mxl = 3}
|
||||
else {$mxl = 2}
|
||||
while (length $ch < $mxl) {$ch =~ s/^/0/}
|
||||
while (length $vs < $mxl) {$vs =~ s/^/0/}
|
||||
$xmlFile = "/Users/Henry/Google Drive/WA/OSHB/${numBk}.xml";
|
||||
say LOG "\$abbr/\$ch/\$vs: $abbr/$ch/$vs";
|
||||
system `open -a /Applications/BBEdit.app /Users/Henry/Documents/git.Door43/en_tn/$wa{$fullBk}/$ch/$vs.md`;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
close $file;
|
||||
|
||||
} else {
|
||||
die "\n\tInput unreadable.\n"
|
||||
}
|
||||
#say LOG "Looking for $sn in $xmlFile";
|
||||
#say "Looking to open \$lbsBk\${ch}.\$vs: $lbsBk${ch}.$vs";
|
||||
# say LOG "\$missingLine: $missingLine, \$ref: $ref, \$bk: $bk, \$ch: $ch, \$vs: $vs, \$url: $url\n\n";
|
||||
#system `open -a /Applications/Logos.app "logosres:esv;ref=BibleESV.$lbsBk${ch}.$vs"`;
|
||||
system `open -a /Applications/Logos.app "logos4:TextComparison;ref=BibleESV.$lbsBk${ch}.$vs;res=esv,niv2011,niv,nasb95,nrsv,gs-netbible,nlt,leb,kjv1900"`;
|
||||
}
|
||||
|
||||
sub FindVerse {
|
||||
|
||||
my $fileText = read_file("$txtFile", binmode => 'utf8');
|
||||
|
||||
say LOG "FindVerse |$strong|.";
|
||||
|
||||
if ($flag && $fileText =~ /$ref\t[^\n]*\n[^\n]*\n/) {
|
||||
say LOG "$ref\n$&";
|
||||
say $&;
|
||||
exit 0;
|
||||
} else {
|
||||
if ($fileText =~ /$ref([^\n]*\n )([^\n]*<)$strong(.?>[^\n]*)/) {
|
||||
my ($fore, $precon, $aft) = ($1, $2, $3);
|
||||
say LOG "\$ref: $ref\n\$fore: $fore\n\$precon:\n$precon\n\$aft: $aft";
|
||||
my $preprecon;
|
||||
if ($precon =~ /^(.*([,>\w\'\"\- —;] |['";\.\?\!]))([\w\-]+) (<[^<>]*> )?<$/) {
|
||||
($preprecon, $word) = ($1, $3);
|
||||
say LOG "\$&: $&\n\$preprecon: $preprecon\n\$word: $word";
|
||||
}
|
||||
say "$ref$fore$preprecon\033[0;0;32m$word\033[m <\033[0;1;31m$strong\033[m$aft\n";
|
||||
}
|
||||
else {
|
||||
say "\n\nThe Strong's code <<$strong>> is not found in $ref.\n\n";
|
||||
system ("bbfind -g \"${ref}\\t[^\\n]*\\n[^\\n]*\" '/Users/Henry/Google Drive/WA/Test/data/ULB.NASB.Strongs.txt'") or die "$!";
|
||||
system ("find $topDir -name \"*.md\" -exec grep -H --color \"$strong\[, \\n\\r\]\" {} \\;");
|
||||
#system ("find $topDir -name \"*.md\" -exec grep -H --color \"$strong\$\" {} \\;");
|
||||
}
|
||||
}
|
||||
return $word;
|
||||
}
|
||||
|
||||
__DATA__
|
||||
1 Chronicles 1Chr 1ch
|
||||
1 Kings 1Kgs 1ki
|
||||
1 Samuel 1Sam 1sa
|
||||
2 Chronicles 2Chr 2ch
|
||||
2 Kings 2Kgs 2ki
|
||||
2 Samuel 2Sam 2sa
|
||||
Amos Amos amo
|
||||
Daniel Dan dan
|
||||
Deuteronomy Deut deu
|
||||
Ecclesiastes Eccl ecc
|
||||
Esther Esth est
|
||||
Exodus Exod exo
|
||||
Ezekiel Ezek ezk
|
||||
Ezra Ezra ezr
|
||||
Genesis Gen gen
|
||||
Habakkuk Hab hab
|
||||
Haggai Hag hag
|
||||
Hosea Hos hos
|
||||
Isaiah Isa isa
|
||||
Jeremiah Jer jer
|
||||
Job Job job
|
||||
Joel Joel jol
|
||||
Jonah Jonah jon
|
||||
Joshua Josh jos
|
||||
Judges Judg jdg
|
||||
Lamentations Lam lam
|
||||
Leviticus Lev lev
|
||||
Malachi Mal mal
|
||||
Micah Mic mic
|
||||
Nahum Nah nam
|
||||
Nehemiah Neh neh
|
||||
Numbers Num num
|
||||
Obadiah Obad oba
|
||||
Proverbs Prov pro
|
||||
Psalms Ps psa
|
||||
Ruth Ruth rut
|
||||
Song of Songs Song sng
|
||||
Zechariah Zech zec
|
||||
Zephaniah Zeph zep
|
|
@ -0,0 +1,37 @@
|
|||
# opens files with mismatched snippets
|
||||
|
||||
use 5.12.0;
|
||||
use File::Slurp;
|
||||
use Cwd;
|
||||
|
||||
my ($pwd, $os, $d, $textEditor) = (cwd(), $^O, "\\");
|
||||
if ($os eq "darwin" || $os eq "linux") {$d = "/"}
|
||||
|
||||
GetUserDefaults();
|
||||
|
||||
my $openString = "";
|
||||
my $fileText = read_file("temp${d}mismatched_snippets.html", binmode => 'utf8');
|
||||
|
||||
while ($fileText =~ /<p><b>(.*)<\/b><\/p>/g) {
|
||||
$openString .= "$1 " unless $openString =~ /$1/;
|
||||
}
|
||||
#say "\n\n$textEditor $openString\n";
|
||||
system ("open -a $textEditor $openString");
|
||||
|
||||
sub GetUserDefaults {
|
||||
open (my $defaults, "<:utf8", "User${d}User_defaults.txt") or die "User${d}User_defaults.txt:\n$!";
|
||||
|
||||
while (my $thisLine = <$defaults>) {
|
||||
chomp $thisLine;
|
||||
if ($thisLine =~ /^Text editor: (.*)$/) {
|
||||
$textEditor = $1;
|
||||
}
|
||||
}
|
||||
|
||||
if ($os eq "darwin") {$textEditor = "open -a $textEditor"}
|
||||
say "\$textEditor: $textEditor";
|
||||
die "No text editor found" if $textEditor eq "";
|
||||
|
||||
close $defaults;
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
use 5.12.0;
|
||||
|
||||
my ($bk, $ch, $vs, $outputFile, $ulb, $tw, $dir, $ref) = ("", "", "", "/Users/Henry/Documents/git.Door43/en_tw/ForPDF/tWs.for.PDF.txt");
|
||||
|
||||
open LOG, ">:utf8", "/Users/Henry/Google Drive/WA/Test/out/log.log" or die;
|
||||
open OUT, ">:utf8", $outputFile or die;
|
||||
say OUT "Book,Chapter,Verse,Term,Dir,Ref";
|
||||
|
||||
open (my $file, "<:utf8", "/Users/Henry/Google Drive/WA/Test/out/output.dat") or die "/Users/Henry/Google Drive/WA/Test/out/output.dat:\n$!";
|
||||
|
||||
while (my $line = <$file>) {
|
||||
chomp $line;
|
||||
#say LOG $line;
|
||||
if ($line =~ /^([^:]*) (\d+):(\d+):$/) {
|
||||
($bk, $ch, $vs) = ($1, $2, $3);
|
||||
say LOG $line;
|
||||
} elsif ($line =~ /^\[([^\]]*)\]\(([^\)]*)\)$/) {
|
||||
($ulb, $tw) = ($1, $2);
|
||||
if ($tw =~ /^([^\/]*)\/([^\/]*)$/) {
|
||||
($dir, $ref) = ($1, $2)
|
||||
}
|
||||
say OUT "$bk,$ch,$vs,\"$ulb\",$dir,$ref"
|
||||
}
|
||||
}
|
||||
|
||||
close $file;
|
||||
|
||||
close OUT;
|
||||
close LOG;
|
||||
|
||||
system 'open -a /Applications/BBEdit.app $outputFile';
|
||||
|
||||
print "\n\tDone.";
|
|
@ -0,0 +1,12 @@
|
|||
Joel 1:8 1167
|
||||
Joel 1:13 935
|
||||
Joel 1:17 2040
|
||||
Joel 1:18 816
|
||||
Joel 2:1 935
|
||||
Joel 2:2 6205
|
||||
Joel 2:9 935
|
||||
Joel 2:13 7451
|
||||
Joel 2:22 2428
|
||||
Joel 2:23 6666
|
||||
Joel 3:13 3381
|
||||
Joel 3:15 622
|
|
@ -0,0 +1,368 @@
|
|||
Malachi 1:1:
|
||||
[declaration](other/declare)
|
||||
[word of Yahweh](kt/wordofgod)
|
||||
[Israel](kt/israel)
|
||||
[by the hand of](other/hand)
|
||||
[Malachi](names/malachi)
|
||||
|
||||
Malachi 1:2:
|
||||
[loved](kt/love)
|
||||
[Yahweh](kt/yahweh)
|
||||
[Esau](names/esau)
|
||||
[Jacob](names/jacob)
|
||||
[brother](kt/brother)
|
||||
[declares](other/declare)
|
||||
|
||||
Malachi 1:3:
|
||||
[Esau](names/esau)
|
||||
[devastation](other/devastated)
|
||||
[inheritance](kt/inherit)
|
||||
[wilderness](other/desert)
|
||||
|
||||
Malachi 1:4:
|
||||
[Edom](names/edom)
|
||||
[ruins](other/ruin)
|
||||
[Yahweh of hosts](kt/yahwehofhosts)
|
||||
[call](kt/call)
|
||||
[wickedness](kt/evil)
|
||||
[forever](kt/eternity)
|
||||
|
||||
Malachi 1:5:
|
||||
[Yahweh](kt/yahweh)
|
||||
[Israel](kt/israel)
|
||||
|
||||
Malachi 1:6:
|
||||
[honors](kt/honor)
|
||||
[servant](other/servant)
|
||||
[master](kt/lord)
|
||||
[reverence](other/reverence)
|
||||
[Yahweh of hosts](kt/yahwehofhosts)
|
||||
[priests](kt/priest)
|
||||
[name](kt/name)
|
||||
|
||||
Malachi 1:7:
|
||||
[offering](other/sacrifice)
|
||||
[bread](other/bread)
|
||||
[altar](kt/altar)
|
||||
[Yahweh](kt/yahweh)
|
||||
[contemptible](other/contempt)
|
||||
|
||||
Malachi 1:8:
|
||||
[sacrifice](other/sacrifice)
|
||||
[evil](kt/evil)
|
||||
[governor](other/governor)
|
||||
[face](other/face)
|
||||
[Yahweh of hosts](kt/yahwehofhosts)
|
||||
|
||||
Malachi 1:9:
|
||||
[gracious](kt/grace)
|
||||
[Yahweh of hosts](kt/yahwehofhosts)
|
||||
[hand](other/hand)
|
||||
[faces](other/face)
|
||||
|
||||
Malachi 1:10:
|
||||
[gates](other/gate)
|
||||
[fires](other/fire)
|
||||
[altar](kt/altar)
|
||||
[vain](other/vain)
|
||||
[pleasure](other/delight)
|
||||
[Yahweh of hosts](kt/yahwehofhosts)
|
||||
[offering](other/sacrifice)
|
||||
[hand](other/hand)
|
||||
|
||||
Malachi 1:11:
|
||||
[name](kt/name)
|
||||
[great](kt/majesty)
|
||||
[nations](other/nation)
|
||||
[pure](kt/purify)
|
||||
[offerings](kt/gift)
|
||||
[Yahweh of hosts](kt/yahwehofhosts)
|
||||
|
||||
Malachi 1:12:
|
||||
[profaning](other/profane)
|
||||
[Lord](kt/lord)
|
||||
[fruit](other/fruit)
|
||||
|
||||
Malachi 1:13:
|
||||
[Yahweh of hosts](kt/yahwehofhosts)
|
||||
[offering](other/sacrifice)
|
||||
[hand](other/hand)
|
||||
|
||||
Malachi 1:14:
|
||||
[deceiver](other/deceive)
|
||||
[cursed](kt/curse)
|
||||
[flock](other/flock)
|
||||
[vows](kt/vow)
|
||||
[sacrifices](other/sacrifice)
|
||||
[Lord](kt/lord)
|
||||
[great](kt/majesty)
|
||||
[king](other/king)
|
||||
[Yahweh of hosts](kt/yahwehofhosts)
|
||||
[name](kt/name)
|
||||
[honored](kt/honor)
|
||||
[nations](other/nation)
|
||||
|
||||
Malachi 2:1:
|
||||
[priests](kt/priest)
|
||||
[command](kt/command)
|
||||
|
||||
Malachi 2:2:
|
||||
[heart](kt/heart)
|
||||
[name](kt/name)
|
||||
[Yahweh of hosts](kt/yahwehofhosts)
|
||||
[send](other/send)
|
||||
[curse](kt/curse)
|
||||
[blessings](kt/bless)
|
||||
[cursed](kt/curse)
|
||||
|
||||
Malachi 2:3:
|
||||
[rebuke](other/rebuke)
|
||||
[descendants](other/descendant)
|
||||
[dung](other/dung)
|
||||
[faces](other/face)
|
||||
[festivals](other/festival)
|
||||
|
||||
Malachi 2:4:
|
||||
[know](other/know)
|
||||
[sent](other/send)
|
||||
[command](kt/command)
|
||||
[covenant](kt/covenant)
|
||||
[Levi](names/levite)
|
||||
[Yahweh of hosts](kt/yahwehofhosts)
|
||||
|
||||
Malachi 2:5:
|
||||
[covenant](kt/covenant)
|
||||
[life](kt/life)
|
||||
[fear](kt/fear)
|
||||
[feared](kt/fear)
|
||||
[name](kt/name)
|
||||
|
||||
Malachi 2:6:
|
||||
[instruction](other/instruct)
|
||||
[walked](other/walk)
|
||||
[peace](other/peace)
|
||||
[uprightness](kt/righteous)
|
||||
|
||||
Malachi 2:7:
|
||||
[priest](kt/priest)
|
||||
[keep](other/obey)
|
||||
[knowledge](other/know)
|
||||
[seek](other/seek)
|
||||
[instruction](other/instruct)
|
||||
[messenger](other/messenger)
|
||||
[Yahweh of hosts](kt/yahwehofhosts)
|
||||
|
||||
Malachi 2:8:
|
||||
[stumble](other/stumble)
|
||||
[the law](kt/lawofmoses)
|
||||
[covenant](kt/covenant)
|
||||
[Levi](names/levite)
|
||||
[Yahweh of hosts](kt/yahwehofhosts)
|
||||
|
||||
Malachi 2:9:
|
||||
[contemptible](other/contempt)
|
||||
[people](other/peoplegroup)
|
||||
[kept](other/obey)
|
||||
[partiality](other/partial)
|
||||
[instruction](other/instruct)
|
||||
|
||||
Malachi 2:10:
|
||||
[brother](kt/brother)
|
||||
[profaning](other/profane)
|
||||
[covenant](kt/covenant)
|
||||
[fathers](other/father)
|
||||
|
||||
Malachi 2:11:
|
||||
[Judah](names/judah)
|
||||
[disgusting thing](kt/abomination)
|
||||
[committed](other/commit)
|
||||
[Israel](kt/israel)
|
||||
[profaned](other/profane)
|
||||
[holy place](kt/holyplace)
|
||||
[Yahweh](kt/yahweh)
|
||||
[loves](kt/love)
|
||||
[foreign](other/foreigner)
|
||||
[god](kt/falsegod)
|
||||
|
||||
Malachi 2:12:
|
||||
[tents](other/tent)
|
||||
[Jacob](names/jacob)
|
||||
[awake](other/raise)
|
||||
[offering](other/sacrifice)
|
||||
[Yahweh of hosts](kt/yahwehofhosts)
|
||||
|
||||
Malachi 2:13:
|
||||
[altar](kt/altar)
|
||||
[Yahweh](kt/yahweh)
|
||||
[with tears](other/mourn)
|
||||
[turn](other/turn)
|
||||
[offering](other/sacrifice)
|
||||
[favor](kt/favor)
|
||||
[hand](other/hand)
|
||||
|
||||
Malachi 2:14:
|
||||
[Yahweh](kt/yahweh)
|
||||
[witness](kt/testimony)
|
||||
[companion](other/companion)
|
||||
[covenant](kt/covenant)
|
||||
|
||||
Malachi 2:15:
|
||||
[spirit](kt/spirit)
|
||||
[seeking](other/seek)
|
||||
[offspring](other/offspring)
|
||||
[guard](other/watch)
|
||||
|
||||
Malachi 2:16:
|
||||
[divorce](other/divorce)
|
||||
[Israel](kt/israel)
|
||||
[garment](other/clothed)
|
||||
[violence](kt/evil)
|
||||
[Yahweh of hosts](kt/yahwehofhosts)
|
||||
[guard](other/watch)
|
||||
[spirit](kt/spirit)
|
||||
|
||||
Malachi 2:17:
|
||||
[Yahweh](kt/yahweh)
|
||||
[saying](other/word)
|
||||
[evil](kt/evil)
|
||||
[good](kt/good)
|
||||
[delights](other/delight)
|
||||
[justice](kt/justice)
|
||||
|
||||
Malachi 3:1:
|
||||
[send](other/send)
|
||||
[messenger](other/messenger)
|
||||
[before](other/face)
|
||||
[Lord](kt/lord)
|
||||
[seek](other/seek)
|
||||
[temple](kt/temple)
|
||||
[covenant](kt/covenant)
|
||||
[delight](other/delight)
|
||||
[Yahweh of hosts](kt/yahwehofhosts)
|
||||
|
||||
Malachi 3:2:
|
||||
[endure](other/endure)
|
||||
[day](other/biblicaltimeday)
|
||||
[fire](other/fire)
|
||||
|
||||
Malachi 3:3:
|
||||
[silver](other/silver)
|
||||
[purify](kt/purify)
|
||||
[sons](kt/son)
|
||||
[Levi](names/levite)
|
||||
[gold](other/gold)
|
||||
[offerings](kt/gift)
|
||||
[righteousness](kt/righteous)
|
||||
[Yahweh](kt/yahweh)
|
||||
|
||||
Malachi 3:4:
|
||||
[offering](other/sacrifice)
|
||||
[Judah](names/judah)
|
||||
[Jerusalem](names/jerusalem)
|
||||
[Yahweh](kt/yahweh)
|
||||
[days](other/biblicaltimeday)
|
||||
|
||||
Malachi 3:5:
|
||||
[judgment](kt/justice)
|
||||
[sorcerers](other/sorcery)
|
||||
[false witnesses](other/falsewitness)
|
||||
[wages](other/reward)
|
||||
[foreigner](other/foreigner)
|
||||
[honor](kt/honor)
|
||||
[Yahweh of hosts](kt/yahwehofhosts)
|
||||
|
||||
Malachi 3:6:
|
||||
[Yahweh](kt/yahweh)
|
||||
[descendants](other/descendant)
|
||||
[Jacob](names/jacob)
|
||||
|
||||
Malachi 3:7:
|
||||
[fathers](other/father)
|
||||
[turned](other/turn)
|
||||
[statutes](other/statute)
|
||||
[kept](other/obey)
|
||||
[return](other/return)
|
||||
[Yahweh of hosts](kt/yahwehofhosts)
|
||||
|
||||
Malachi 3:8:
|
||||
[tithes](other/tenth)
|
||||
|
||||
Malachi 3:9:
|
||||
[cursed](kt/curse)
|
||||
[curse](kt/curse)
|
||||
[nation](other/nation)
|
||||
|
||||
Malachi 3:10:
|
||||
[tithe](other/tenth)
|
||||
[storehouse](other/storehouse)
|
||||
[test](kt/test)
|
||||
[Yahweh of hosts](kt/yahwehofhosts)
|
||||
[heaven](kt/heaven)
|
||||
[blessing](kt/bless)
|
||||
|
||||
Malachi 3:11:
|
||||
[destroy](other/destroyer)
|
||||
[crops](other/fruit)
|
||||
[land](other/earth)
|
||||
[vines](other/vine)
|
||||
[Yahweh of hosts](kt/yahwehofhosts)
|
||||
|
||||
Malachi 3:12:
|
||||
[nations](other/nation)
|
||||
[blessed](kt/bless)
|
||||
[land](other/earth)
|
||||
[delight](other/delight)
|
||||
[Yahweh of hosts](kt/yahwehofhosts)
|
||||
|
||||
Malachi 3:13:
|
||||
[strong](other/strength)
|
||||
[Yahweh](kt/yahweh)
|
||||
|
||||
Malachi 3:14:
|
||||
[useless](other/vain)
|
||||
[serve](other/servant)
|
||||
[profit](other/profit)
|
||||
[kept](other/obey)
|
||||
[requirements](other/ordinance)
|
||||
[walked](other/walk)
|
||||
[mournfully](other/mourn)
|
||||
[before](other/face)
|
||||
[Yahweh of hosts](kt/yahwehofhosts)
|
||||
|
||||
Malachi 3:15:
|
||||
[blessed](kt/bless)
|
||||
[prosper](other/prosper)
|
||||
[test](kt/test)
|
||||
|
||||
Malachi 3:16:
|
||||
[Yahweh](kt/yahweh)
|
||||
[book](other/scroll)
|
||||
[was written](other/written)
|
||||
[before](other/face)
|
||||
[honored](kt/honor)
|
||||
[name](kt/name)
|
||||
|
||||
Malachi 3:17:
|
||||
[Yahweh of hosts](kt/yahwehofhosts)
|
||||
[possession](other/possess)
|
||||
[day](other/biblicaltimeday)
|
||||
[pity](kt/compassion)
|
||||
[serves](other/servant)
|
||||
|
||||
Malachi 3:18:
|
||||
[righteous](kt/righteous)
|
||||
[wicked](kt/evil)
|
||||
[worships](kt/worship)
|
||||
|
||||
Malachi 4:1:
|
||||
|
||||
Malachi 4:2:
|
||||
|
||||
Malachi 4:3:
|
||||
|
||||
Malachi 4:4:
|
||||
|
||||
Malachi 4:5:
|
||||
|
||||
Malachi 4:6:
|
||||
|
|
@ -0,0 +1,532 @@
|
|||
Joel 1:1:
|
||||
[word of Yahweh](kt/wordofgod)
|
||||
[Joel](names/joel)
|
||||
|
||||
Joel 1:2:
|
||||
[elders](other/elder)
|
||||
[listen](other/obey)
|
||||
[land](other/earth)
|
||||
[days](other/biblicaltimeday)
|
||||
[ancestors](other/father)
|
||||
|
||||
Joel 1:3:
|
||||
[children](kt/children)
|
||||
[generation](other/generation)
|
||||
|
||||
Joel 1:4:
|
||||
[locust](other/locust)
|
||||
|
||||
Joel 1:5:
|
||||
[drunkards](other/drunk)
|
||||
[weep](other/mourn)
|
||||
[wine](other/wine)
|
||||
|
||||
Joel 1:6:
|
||||
[nation](other/nation)
|
||||
[come up](other/raise)
|
||||
[land](other/earth)
|
||||
[mighty](other/mighty)
|
||||
[lion](other/lion)
|
||||
[lioness](other/lion)
|
||||
|
||||
Joel 1:7:
|
||||
[vineyard](other/vineyard)
|
||||
[desolate](other/desolate)
|
||||
[fig](other/fig)
|
||||
[thrown](other/castout)
|
||||
|
||||
Joel 1:8:
|
||||
[virgin](other/virgin)
|
||||
[girded](other/gird)
|
||||
[sackcloth](other/sackcloth)
|
||||
|
||||
Joel 1:9:
|
||||
[grain offering](other/grainoffering)
|
||||
[drink offering](other/drinkoffering)
|
||||
[house of Yahweh](kt/houseofgod)
|
||||
[Yahweh](kt/yahweh)
|
||||
[priests](kt/priest)
|
||||
[servants](other/servant)
|
||||
[mourn](other/mourn)
|
||||
|
||||
Joel 1:10:
|
||||
[ground](other/earth)
|
||||
[mourning](other/mourn)
|
||||
[grain](other/grain)
|
||||
[destroyed](other/destroyer)
|
||||
[new wine](other/wine)
|
||||
[oil](other/oil)
|
||||
|
||||
Joel 1:11:
|
||||
[ashamed](other/shame)
|
||||
[farmers](other/plow)
|
||||
[wail](kt/lament)
|
||||
[vine growers](other/vineyard)
|
||||
[wheat](other/wheat)
|
||||
[barley](other/barley)
|
||||
[harvest](other/harvest)
|
||||
[perished](kt/perish)
|
||||
|
||||
Joel 1:12:
|
||||
[vines](other/vine)
|
||||
[withered](other/barren)
|
||||
[pomegranate](other/pomegranate)
|
||||
[palm](other/palm)
|
||||
[joy](other/joy)
|
||||
[descendants](other/descendant)
|
||||
|
||||
Joel 1:13:
|
||||
[sackcloth](other/sackcloth)
|
||||
[mourn](other/mourn)
|
||||
[priests](kt/priest)
|
||||
[servants](other/servant)
|
||||
[altar](kt/altar)
|
||||
[grain offering](other/grainoffering)
|
||||
[drink offering](other/drinkoffering)
|
||||
[house](other/house)
|
||||
|
||||
Joel 1:14:
|
||||
[holy](kt/holy)
|
||||
[fast](other/fast)
|
||||
[call](kt/call)
|
||||
[assembly](other/assembly)
|
||||
[elders](other/elder)
|
||||
[land](other/earth)
|
||||
[house of Yahweh](kt/houseofgod)
|
||||
[Yahweh](kt/yahweh)
|
||||
|
||||
Joel 1:15:
|
||||
[day of Yahweh](kt/dayofthelord)
|
||||
[Almighty](kt/almighty)
|
||||
|
||||
Joel 1:16:
|
||||
[joy](other/joy)
|
||||
[gladness](other/joy)
|
||||
[house](other/house)
|
||||
|
||||
Joel 1:17:
|
||||
[seeds](other/seed)
|
||||
[storehouses](other/storehouse)
|
||||
[desolate](other/desolate)
|
||||
[grain](other/grain)
|
||||
[withered](other/barren)
|
||||
|
||||
Joel 1:18:
|
||||
[cattle](other/cow)
|
||||
[groan](other/groan)
|
||||
[herds](other/flock)
|
||||
[flocks](other/flock)
|
||||
[sheep](other/sheep)
|
||||
[suffering](other/suffer)
|
||||
|
||||
Joel 1:19:
|
||||
[Yahweh](kt/yahweh)
|
||||
[cry](other/cry)
|
||||
[fire](other/fire)
|
||||
[devoured](other/devour)
|
||||
[wilderness](other/desert)
|
||||
|
||||
Joel 1:20:
|
||||
[animals](other/beast)
|
||||
[water](other/water)
|
||||
[dried](other/barren)
|
||||
[fire](other/fire)
|
||||
[devoured](other/devour)
|
||||
[wilderness](other/desert)
|
||||
|
||||
Joel 2:1:
|
||||
[trumpet](other/trumpet)
|
||||
[Zion](kt/zion)
|
||||
[alarm](other/alarm)
|
||||
[holy](kt/holy)
|
||||
[land](other/earth)
|
||||
[tremble](other/tremble)
|
||||
[day of Yahweh](kt/dayofthelord)
|
||||
|
||||
Joel 2:2:
|
||||
[darkness](other/darkness)
|
||||
[thick darkness](other/darkness)
|
||||
[dawn](other/light)
|
||||
[mighty](other/mighty)
|
||||
[army](other/warrior)
|
||||
[never](kt/eternity)
|
||||
[like](other/like)
|
||||
[generations](other/generation)
|
||||
|
||||
Joel 2:3:
|
||||
[fire](other/fire)
|
||||
[consuming](other/consume)
|
||||
[burning](other/fire)
|
||||
[garden of Eden](names/eden)
|
||||
[ruined](other/ruin)
|
||||
[wilderness](other/desert)
|
||||
[escape](kt/remnant)
|
||||
|
||||
Joel 2:4:
|
||||
[appearance]()
|
||||
[horses](other/horse)
|
||||
[run](other/run)
|
||||
|
||||
Joel 2:5:
|
||||
[chariots](other/chariot)
|
||||
[sound](other/voice)
|
||||
[fiery](other/fire)
|
||||
[devour](other/devour)
|
||||
[mighty](other/mighty)
|
||||
[army](other/warrior)
|
||||
|
||||
Joel 2:6:
|
||||
[presence](other/face)
|
||||
[people](other/peoplegroup)
|
||||
[anguish](other/anguish)
|
||||
|
||||
Joel 2:7:
|
||||
[run](other/run)
|
||||
[warriors](other/warrior)
|
||||
[climb](other/run)
|
||||
|
||||
Joel 2:8:
|
||||
|
||||
Joel 2:9:
|
||||
[run](other/run)
|
||||
[climb](other/run)
|
||||
[houses](other/house)
|
||||
[thieves](other/thief)
|
||||
|
||||
Joel 2:10:
|
||||
[earth](other/earth)
|
||||
[heavens](kt/heaven)
|
||||
[tremble](other/tremble)
|
||||
|
||||
Joel 2:11:
|
||||
[voice](other/voice)
|
||||
[strong](other/strength)
|
||||
[commands](kt/command)
|
||||
[day of Yahweh](kt/dayofthelord)
|
||||
[great](kt/majesty)
|
||||
[terrible](other/terror)
|
||||
[endure](other/endure)
|
||||
|
||||
Joel 2:12:
|
||||
[Yahweh](kt/yahweh)
|
||||
[declaration](other/declare)
|
||||
[heart](kt/heart)
|
||||
|
||||
Joel 2:13:
|
||||
[heart](kt/heart)
|
||||
[garments](other/clothed)
|
||||
[return](other/return)
|
||||
[Yahweh](kt/yahweh)
|
||||
[gracious](kt/grace)
|
||||
[merciful](kt/mercy)
|
||||
[slow](other/patient)
|
||||
[anger](other/angry)
|
||||
[abounding](other/multiply)
|
||||
[steadfast love](kt/covenantfaith)
|
||||
[relenting](kt/repent)
|
||||
|
||||
Joel 2:14:
|
||||
[knows](other/know)
|
||||
[turn](other/turn)
|
||||
[relent](kt/repent)
|
||||
[blessing](kt/bless)
|
||||
[grain offering](other/grainoffering)
|
||||
[drink offering](other/drinkoffering)
|
||||
[Yahweh](kt/yahweh)
|
||||
|
||||
Joel 2:15:
|
||||
[trumpet](other/trumpet)
|
||||
[Zion](kt/zion)
|
||||
[call](kt/call)
|
||||
[holy](kt/holy)
|
||||
[fast](other/fast)
|
||||
[assembly](other/assembly)
|
||||
|
||||
Joel 2:16:
|
||||
[people](other/peoplegroup)
|
||||
[holy](kt/holy)
|
||||
[assembly](other/assembly)
|
||||
[elders](other/elder)
|
||||
[gather](other/assembly)
|
||||
[children](kt/children)
|
||||
[infants](kt/children)
|
||||
[bridegrooms](other/bridegroom)
|
||||
[come out](other/send)
|
||||
[bridal](other/bride)
|
||||
|
||||
Joel 2:17:
|
||||
[priests](kt/priest)
|
||||
[servants](other/servant)
|
||||
[Yahweh](kt/yahweh)
|
||||
[weep](other/mourn)
|
||||
[people](other/peoplegroup)
|
||||
[inheritance](kt/inherit)
|
||||
[nations](other/nation)
|
||||
[mock](other/mock)
|
||||
|
||||
Joel 2:18:
|
||||
[Yahweh](kt/yahweh)
|
||||
[zealous](kt/zealous)
|
||||
[land](other/earth)
|
||||
[pity](kt/compassion)
|
||||
[people](other/peoplegroup)
|
||||
|
||||
Joel 2:19:
|
||||
[Yahweh](kt/yahweh)
|
||||
[people](other/peoplegroup)
|
||||
[send](other/send)
|
||||
[grain](other/grain)
|
||||
[longer](other/time)
|
||||
[disgrace](other/disgrace)
|
||||
[nations](other/nation)
|
||||
|
||||
Joel 2:20:
|
||||
[drive](other/castout)
|
||||
[dry](other/barren)
|
||||
[desolate](other/desolate)
|
||||
[land](other/earth)
|
||||
[the western sea](names/mediterranean)
|
||||
[rise](other/raise)
|
||||
[great](kt/majesty)
|
||||
|
||||
Joel 2:21:
|
||||
[fear](kt/fear)
|
||||
[land](other/earth)
|
||||
[glad](other/joy)
|
||||
[rejoice](other/joy)
|
||||
[Yahweh](kt/yahweh)
|
||||
[great](kt/majesty)
|
||||
[things](kt/works)
|
||||
|
||||
Joel 2:22:
|
||||
[fear](kt/fear)
|
||||
[animals](other/beast)
|
||||
[wilderness](other/desert)
|
||||
[bear](other/bear)
|
||||
[fruit](other/fruit)
|
||||
[fig](other/fig)
|
||||
[vines](other/vine)
|
||||
|
||||
Joel 2:23:
|
||||
[glad](other/joy)
|
||||
[people](other/peoplegroup)
|
||||
[Zion](kt/zion)
|
||||
[rejoice](other/joy)
|
||||
[Yahweh](kt/yahweh)
|
||||
[spring](other/fountain)
|
||||
|
||||
Joel 2:24:
|
||||
[threshing](other/thresh)
|
||||
[full](kt/filled)
|
||||
[wheat](other/wheat)
|
||||
[new wine](other/wine)
|
||||
[oil](other/oil)
|
||||
|
||||
Joel 2:25:
|
||||
[restore](kt/restore)
|
||||
[years](other/biblicaltimeyear)
|
||||
[locust](other/locust)
|
||||
[great](kt/majesty)
|
||||
[destroying](other/destroyer)
|
||||
[mighty](other/mighty)
|
||||
[sent](other/send)
|
||||
|
||||
Joel 2:26:
|
||||
[satisfied](kt/filled)
|
||||
[praise](other/praise)
|
||||
[name](kt/name)
|
||||
[Yahweh](kt/yahweh)
|
||||
[wonders](other/amazed)
|
||||
[never](kt/eternity)
|
||||
[shame](other/shame)
|
||||
[my people](kt/peopleofgod)
|
||||
|
||||
Joel 2:27:
|
||||
[know](other/know)
|
||||
[Israel](kt/israel)
|
||||
[Yahweh](kt/yahweh)
|
||||
[never](kt/eternity)
|
||||
[shame](other/shame)
|
||||
[my people](kt/peopleofgod)
|
||||
|
||||
Joel 2:28:
|
||||
[flesh](kt/flesh)
|
||||
[prophesy](kt/prophet)
|
||||
[old men](other/elder)
|
||||
[dream](other/dream)
|
||||
[young men](kt/children)
|
||||
[visions](other/vision)
|
||||
|
||||
Joel 2:29:
|
||||
[servants](other/servant)
|
||||
[female servants](other/servant)
|
||||
[days](other/biblicaltimeday)
|
||||
|
||||
Joel 2:30:
|
||||
[wonders](other/amazed)
|
||||
[heavens](kt/heaven)
|
||||
[blood](kt/blood)
|
||||
[fire](other/fire)
|
||||
[pillars](other/pillar)
|
||||
|
||||
Joel 2:31:
|
||||
[turn](other/turn)
|
||||
[darkness](other/darkness)
|
||||
[blood](kt/blood)
|
||||
[before](other/face)
|
||||
[great](kt/majesty)
|
||||
[day of Yahweh](kt/dayofthelord)
|
||||
|
||||
Joel 2:32:
|
||||
[calls](kt/call)
|
||||
[name](kt/name)
|
||||
[Yahweh](kt/yahweh)
|
||||
[saved](kt/save)
|
||||
[Mount Zion](kt/zion)
|
||||
[survivors](kt/remnant)
|
||||
|
||||
Joel 3:1:
|
||||
[time](other/time)
|
||||
[reverse](kt/restore)
|
||||
[captivity](other/captive)
|
||||
[Judah](names/judah)
|
||||
[Jerusalem](names/jerusalem)
|
||||
|
||||
Joel 3:2:
|
||||
[gather](other/assembly)
|
||||
[nations](other/nation)
|
||||
[Jehoshaphat](names/jehoshaphat)
|
||||
[judge](kt/judge)
|
||||
[my people](kt/peopleofgod)
|
||||
[inheritance](kt/inherit)
|
||||
[Israel](kt/israel)
|
||||
[scattered](other/disperse)
|
||||
[land](other/earth)
|
||||
|
||||
Joel 3:3:
|
||||
[cast lots](other/lots)
|
||||
[my people](kt/peopleofgod)
|
||||
[prostitute](other/prostitute)
|
||||
[wine](other/wine)
|
||||
|
||||
Joel 3:4:
|
||||
[Tyre](names/tyre)
|
||||
[Sidon](names/sidon)
|
||||
[Philistia](names/philistia)
|
||||
[return](other/return)
|
||||
[repayment](other/reward)
|
||||
[head](other/head)
|
||||
|
||||
Joel 3:5:
|
||||
[silver](other/silver)
|
||||
[gold](other/gold)
|
||||
[precious](other/precious)
|
||||
[treasures]()
|
||||
[temples](kt/temple)
|
||||
|
||||
Joel 3:6:
|
||||
[people](other/peoplegroup)
|
||||
[Judah](names/judah)
|
||||
[Jerusalem](names/jerusalem)
|
||||
[Greeks](names/greek)
|
||||
|
||||
Joel 3:7:
|
||||
[return](other/return)
|
||||
[payment](other/reward)
|
||||
[head](other/head)
|
||||
|
||||
Joel 3:8:
|
||||
[by the hand of](other/hand)
|
||||
[people](other/peoplegroup)
|
||||
[Judah](names/judah)
|
||||
[nation](other/nation)
|
||||
[Yahweh](kt/yahweh)
|
||||
|
||||
Joel 3:9:
|
||||
[nations](other/nation)
|
||||
[mighty](other/mighty)
|
||||
[come up](other/raise)
|
||||
|
||||
Joel 3:10:
|
||||
[plowshares](other/plow)
|
||||
[swords](other/sword)
|
||||
[spears](other/spear)
|
||||
[mighty](other/mighty)
|
||||
|
||||
Joel 3:11:
|
||||
[nations](other/nation)
|
||||
[Yahweh](kt/yahweh)
|
||||
[warriors](other/warrior)
|
||||
|
||||
Joel 3:12:
|
||||
[nations](other/nation)
|
||||
[come up](other/raise)
|
||||
[Jehoshaphat](names/jehoshaphat)
|
||||
[judge](kt/judge)
|
||||
|
||||
Joel 3:13:
|
||||
[harvest](other/harvest)
|
||||
[winepress](other/winepress)
|
||||
[full](kt/filled)
|
||||
[wickedness](kt/evil)
|
||||
|
||||
Joel 3:14:
|
||||
[day of Yahweh](kt/dayofthelord)
|
||||
|
||||
Joel 3:15:
|
||||
[dark](other/darkness)
|
||||
[brightness](other/light)
|
||||
|
||||
Joel 3:16:
|
||||
[Yahweh](kt/yahweh)
|
||||
[Zion](kt/zion)
|
||||
[voice](other/voice)
|
||||
[heavens](kt/heaven)
|
||||
[earth](other/earth)
|
||||
[shake](other/tremble)
|
||||
[shelter](kt/tabernacle)
|
||||
[people](other/peoplegroup)
|
||||
[fortress](other/stronghold)
|
||||
[Israel](kt/israel)
|
||||
|
||||
Joel 3:17:
|
||||
[know](other/know)
|
||||
[Yahweh](kt/yahweh)
|
||||
[Zion](kt/zion)
|
||||
[holy](kt/holy)
|
||||
[Jerusalem](names/jerusalem)
|
||||
[foreigners](other/foreigner)
|
||||
|
||||
Joel 3:18:
|
||||
[that day](kt/judgmentday)
|
||||
[wine](other/wine)
|
||||
[flow](other/run)
|
||||
[Judah](names/judah)
|
||||
[water](other/water)
|
||||
[fountain](other/fountain)
|
||||
[house of Yahweh](kt/houseofgod)
|
||||
|
||||
Joel 3:19:
|
||||
[Egypt](names/egypt)
|
||||
[devastation](other/devastated)
|
||||
[Edom](names/edom)
|
||||
[wilderness](other/desert)
|
||||
[violence](kt/evil)
|
||||
[people](other/peoplegroup)
|
||||
[Judah](names/judah)
|
||||
[innocent](kt/innocent)
|
||||
[blood](kt/blood)
|
||||
[land](other/earth)
|
||||
|
||||
Joel 3:20:
|
||||
[Judah](names/judah)
|
||||
[forever](kt/eternity)
|
||||
[Jerusalem](names/jerusalem)
|
||||
[generation](other/generation)
|
||||
|
||||
Joel 3:21:
|
||||
[blood](kt/blood)
|
||||
[avenged](other/avenge)
|
||||
[Yahweh](kt/yahweh)
|
||||
[Zion](kt/zion)
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 68 KiB |
|
@ -0,0 +1,146 @@
|
|||
Joel 1:1 This is the word of Yahweh that came to Joel son of Pethuel.
|
||||
|
||||
Joel 1:2 Hear this, you elders, and listen, all you inhabitants of the land. Has anything like this happened in your days or in the days of your ancestors?
|
||||
|
||||
Joel 1:3 Tell your children about it, and let your children tell their children, and their children the next generation.
|
||||
|
||||
Joel 1:4 What the swarming locust has left, the great locust has eaten; what the great locust has left, the grasshopper has eaten; and what the grasshopper has left, the caterpillar has eaten.
|
||||
|
||||
Joel 1:5 Wake up, you drunkards, and weep! Wail, all you drinkers of wine, because the sweet wine has been cut off from you.
|
||||
|
||||
Joel 1:6 For a nation has come up upon my land, mighty and without number. His teeth are the teeth of a lion, and he has the teeth of a lioness.
|
||||
|
||||
Joel 1:7 He has made my vineyard into a desolate place and has stripped my fig tree bare. He has stripped its bark and thrown it away; the branches are bare white.
|
||||
|
||||
Joel 1:8 Mourn like a virgin girded in sackcloth for the death of her young bridegroom.
|
||||
|
||||
Joel 1:9 The grain offering and the drink offering have been cut off from the house of Yahweh. The priests, Yahweh's servants, mourn.
|
||||
|
||||
Joel 1:10 The fields are ruined; the ground is mourning because the grain has been destroyed. The new wine has dried up; the oil fails.
|
||||
|
||||
Joel 1:11 Be ashamed, you farmers, and wail, you vine growers, for the wheat and the barley. For the harvest of the fields has perished.
|
||||
|
||||
Joel 1:12 The vines have withered and the fig trees have dried up; the pomegranate trees, also the palm trees, and the apple trees—all the trees of the field have withered. For joy has withered away from the descendants of mankind.
|
||||
|
||||
Joel 1:13 Gird yourselves with sackcloth and mourn, you priests! Wail, you servants of the altar. Come, lie all night in sackcloth, you servants of my God. For the grain offering and the drink offering have been withheld from the house of your God.
|
||||
|
||||
Joel 1:14 Call for a holy fast, and call a holy assembly. Gather the elders and all the inhabitants of the land to the house of Yahweh your God, and cry to Yahweh.
|
||||
|
||||
Joel 1:15 Alas for the day! For the day of Yahweh is almost here. With it will come destruction from the Almighty.
|
||||
|
||||
Joel 1:16 Has not food been cut off from before our eyes, and joy and gladness from the house of our God?
|
||||
|
||||
Joel 1:17 The seeds rot under their clods, the storehouses are desolate, and the barns have been broken down, for the grain has withered.
|
||||
|
||||
Joel 1:18 How the cattle groan! Their herds are wandering in confusion because they have no pasture. Even the flocks of sheep are suffering.
|
||||
|
||||
Joel 1:19 Yahweh, I cry to you. For fire has devoured the pastures of the wilderness, and flames have burned all the trees of the fields.
|
||||
|
||||
Joel 1:20 Even the animals of the fields pant for you, for the water brooks have dried up, and fire has devoured the pastures of the wilderness.
|
||||
|
||||
Joel 2:1 Blow the trumpet in Zion, and sound an alarm on my holy mountain! Let all the inhabitants of the land tremble in fear, for the day of Yahweh is coming; indeed, it is near.
|
||||
|
||||
Joel 2:2 It is a day of darkness and gloom, a day of clouds and thick darkness. Like the dawn that spreads on the mountains, a large and mighty army is approaching. There has never been an army like it, and there never will be again, even after many generations.
|
||||
|
||||
Joel 2:3 A fire is consuming everything in front of it, and behind it a flame is burning. The land is like the garden of Eden in front of it, but behind it there is a ruined wilderness. Indeed, nothing will escape from it.
|
||||
|
||||
Joel 2:4 The army's appearance is like horses, and they run like horsemen.
|
||||
|
||||
Joel 2:5 They jump with a noise like that of chariots on the tops of the mountains, like the sound of fiery flames that devour the stubble, like a mighty army ready for battle.
|
||||
|
||||
Joel 2:6 At their presence people are in anguish and all their faces become pale.
|
||||
|
||||
Joel 2:7 They run like mighty warriors; they climb the walls like soldiers; they march, every one in step, and do not break their ranks.
|
||||
|
||||
Joel 2:8 Neither does one thrust another aside; they march, each in his path; they break through the defenses and do not fall out of line.
|
||||
|
||||
Joel 2:9 They rush on the city, they run on the wall, they climb in the houses, and they go through the windows like thieves.
|
||||
|
||||
Joel 2:10 The earth shakes in front of them, the heavens tremble, the sun and the moon are darkened, and the stars stop shining.
|
||||
|
||||
Joel 2:11 Yahweh raises his voice in front of his army, for his warriors are very numerous; for they are strong, those who carry out his commands. For the day of Yahweh is great and very terrible. Who can endure it?
|
||||
|
||||
Joel 2:12 "Yet even now"—this is Yahweh's declaration—"Return to me with all your heart. Fast, weep, and mourn."
|
||||
|
||||
Joel 2:13 Tear your heart and not only your garments, and return to Yahweh your God. For he is gracious and merciful, slow to anger and abounding in steadfast love and relenting from inflicting punishment.
|
||||
|
||||
Joel 2:14 Who knows? Will he perhaps turn and relent, and leave a blessing behind him, a grain offering and a drink offering for Yahweh your God?
|
||||
|
||||
Joel 2:15 Blow the trumpet in Zion, call for a holy fast, and call a holy assembly.
|
||||
|
||||
Joel 2:16 Gather the people; call for the holy assembly. Assemble the elders; gather the children and the nursing infants. Let the bridegrooms come out of their rooms, and the brides out of their bridal chambers.
|
||||
|
||||
Joel 2:17 Let the priests, the servants of Yahweh, weep between the porch and the altar. Let them say, "Spare your people, Yahweh, and do not make your inheritance into an object of scorn, that the nations mock them. Why should they say among the nations, 'Where is their God?'"
|
||||
|
||||
Joel 2:18 Then Yahweh was zealous for his land and had pity on his people.
|
||||
|
||||
Joel 2:19 Yahweh answered his people, "Look, I will send you grain, new wine, and oil. You will be satisfied with them, and I will no longer make you a disgrace among the nations.
|
||||
|
||||
Joel 2:20 I will remove the northern attackers far from you, and will drive them into a dry and desolate land. The front of their army will go into the eastern sea, and the rear into the western sea. Its stench will rise, and its bad smell will rise." Indeed, he has done great things.
|
||||
|
||||
Joel 2:21 Do not fear, land; be glad and rejoice, for Yahweh will do great things.
|
||||
|
||||
Joel 2:22 Do not fear, you wild animals! For the pastures of the wilderness will sprout, the trees will bear their fruit, and the fig trees and the vines will yield their full harvest.
|
||||
|
||||
Joel 2:23 Be glad, people of Zion, and rejoice in Yahweh your God. For he will give you the autumn rain as vindication and bring down showers for you, the autumn rain and the spring rain as before.
|
||||
|
||||
Joel 2:24 The threshing floors will be full of wheat, and the vats will overflow with new wine and oil.
|
||||
|
||||
Joel 2:25 "I will restore to you the years of crops that the swarming locust has eaten—the great locust, the devouring locust, and the destroying locust—my mighty army that I sent among you.
|
||||
|
||||
Joel 2:26 You will eat plentifully and be satisfied, and praise the name of Yahweh your God, who has done wonders among you, and I will never again bring shame on my people.
|
||||
|
||||
Joel 2:27 You will know that I am among Israel, and that I am Yahweh your God, and there is none else, and I will never bring shame on my people.
|
||||
|
||||
Joel 2:28 It will come about afterward that I will pour out my Spirit on all flesh, and your sons and your daughters will prophesy. Your old men will dream dreams; your young men will see visions.
|
||||
|
||||
Joel 2:29 Also on servants and female servants, in those days I will pour out my Spirit.
|
||||
|
||||
Joel 2:30 I will show wonders in the heavens and on the earth, blood, fire, and pillars of smoke.
|
||||
|
||||
Joel 2:31 The sun will turn into darkness and the moon into blood, before the great and terrible day of Yahweh comes.
|
||||
|
||||
Joel 2:32 It will be that everyone who calls on the name of Yahweh will be saved. For on Mount Zion and in Jerusalem there will be those who escape, as Yahweh has said, and among the survivors, those whom Yahweh calls.
|
||||
|
||||
Joel 3:1 Behold, in those days and at that time, when I reverse the captivity of Judah and Jerusalem,
|
||||
|
||||
Joel 3:2 I will gather all the nations, and bring them down to the Valley of Jehoshaphat. I will judge them there, because of my people and my inheritance Israel, whom they scattered among the nations, and because they divided up my land.
|
||||
|
||||
Joel 3:3 They cast lots for my people, traded a boy for a prostitute, and sold a girl for wine so they could drink.
|
||||
|
||||
Joel 3:4 Now, why are you angry at me, Tyre, Sidon and all the regions of Philistia? Will you repay me? Even if you do repay me, I will immediately return your repayment on your own head.
|
||||
|
||||
Joel 3:5 For you took my silver and my gold, and you brought my precious treasures into your temples.
|
||||
|
||||
Joel 3:6 You sold the people of Judah and Jerusalem to the Greeks, in order to send them far away from their territory.
|
||||
|
||||
Joel 3:7 Look, I am about to stir them up, out of the place where you sold them, and will return payment on your own head.
|
||||
|
||||
Joel 3:8 I will sell your sons and your daughters, by the hand of the people of Judah. They will sell them to the Sabeans, to a nation far off, for Yahweh has spoken."
|
||||
|
||||
Joel 3:9 Proclaim this among the nations: "Prepare yourselves for war; rouse the mighty men; let them come near; let all the men of battle come up.
|
||||
|
||||
Joel 3:10 Beat your plowshares into swords and your pruning knives into spears. Let the weak say, 'I am mighty.'
|
||||
|
||||
Joel 3:11 Hurry and come, all you nearby nations; gather yourselves together there. Yahweh, bring down your mighty warriors.
|
||||
|
||||
Joel 3:12 Let the nations wake themselves up and come up to the Valley of Jehoshaphat. For there will I sit to judge all the surrounding nations.
|
||||
|
||||
Joel 3:13 Put in the sickle, for the harvest is ripe. Come, crush the grapes, for the winepress is full. The vats overflow, for their wickedness is great."
|
||||
|
||||
Joel 3:14 There is a tumult, a tumult in the Valley of Judgment. For the day of Yahweh is near in the Valley of Judgment.
|
||||
|
||||
Joel 3:15 The sun and the moon become dark, the stars keep back their brightness.
|
||||
|
||||
Joel 3:16 Yahweh will roar from Zion, and raise his voice from Jerusalem. The heavens and earth will shake, but Yahweh will be a shelter for his people, and a fortress for the people of Israel.
|
||||
|
||||
Joel 3:17 "So you will know that I am Yahweh your God who lives in Zion, my holy mountain. Then Jerusalem will be holy, and foreigners will not pass through her again.
|
||||
|
||||
Joel 3:18 It will come about on that day that the mountains will drip with sweet wine, the hills will flow with milk, all the brooks of Judah will flow with water, and a fountain will come from the house of Yahweh and water the Valley of Shittim.
|
||||
|
||||
Joel 3:19 Egypt will become an abandoned devastation, and Edom will become an abandoned wilderness, because of the violence done to the people of Judah, because they shed innocent blood in their land.
|
||||
|
||||
Joel 3:20 But Judah will be inhabited forever, and Jerusalem will be inhabited from generation to generation.
|
||||
|
||||
Joel 3:21 I will avenge their blood that I have not yet avenged, for Yahweh lives in Zion."
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,32 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8"/>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>Joel 2:23 Be glad, people of Zion, and rejoice in Yahweh your God. For he will give you the autumn rain as vindication and bring down showers for you, the autumn rain and the spring rain as before.
|
||||
</p>
|
||||
<p>So rejoice <H1523>, O sons <H1121> of Zion <H6726>, And be glad <H8055> in the LORD <H3068> your God <H430>; For He has given <H5414> you the early <H4175a> rain <H4175a> for your <span style="color:red">vindication</span> <<span style="color:red">H6666</span>>. And He has poured <H3381> down <H3381> for you the rain <H1653>, The early <H4175a> and latter <H4456> rain <H4456> as before <H7223>. </p>
|
||||
|
||||
<p>
|
||||
/Users/Henry/Documents/git.Door43/en_tw/bible/other/integrity<br />
|
||||
|
||||
/Users/Henry/Documents/git.Door43/en_tw/bible/kt/justice<br />
|
||||
|
||||
/Users/Henry/Documents/git.Door43/en_tw/bible/kt/righteous<br />
|
||||
|
||||
</p>
|
||||
<p>
|
||||
/Users/Henry/Documents/git.Door43/en_tw/bible/other/integrity: * Strong's: H3476, H6664, <span style="color:red">H6666</span>, H8535, H8537, H8537, H8538, H8549, G4587<br />
|
||||
|
||||
/Users/Henry/Documents/git.Door43/en_tw/bible/kt/justice: * Strong's: H205, H2555, H3477, H4941, H5766, H5767, H6415, H6662, H6663, H6664, <span style="color:red">H6666</span>, H8003, H8636, G91, G93, G94, G95, G1342, G1343, G1344, G1345, G1346, G1347, G1556, G1738, G2118<br />
|
||||
|
||||
/Users/Henry/Documents/git.Door43/en_tw/bible/kt/righteous: * Strong's: H205, H2555, H3072, H3474, H3476, H3477, H3483, H4334, H4339, H5228, H5229, H5324, H5765, H5766, H5767, H5977, H6662, H6663, H6664, H6665, <span style="color:red">H6666</span>, H8535, H8537, H8549, H8552, G93, G94, G458, G824, G1341, G1342, G1343, G1344, G1345, G1346<br />
|
||||
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<title>Mismatched Snippets</title>
|
||||
<meta name="generator" content="BBEdit 8.5" />
|
||||
</head>
|
||||
<body>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,53 @@
|
|||
Instructions for use of this file are below the second "===============" line.
|
||||
|
||||
Here are the current defaults the scripts will be looking for.
|
||||
|
||||
===============
|
||||
|
||||
Text editor: /Applications/BBEdit.app
|
||||
HTML browser: /Applications/Firefox.app
|
||||
Repository directory: /Users/Henry/Documents/git.Door43
|
||||
translationNotes path: en_tn
|
||||
translationWords path: en_tw
|
||||
Unlocked Literal Bible path: ULB/bible
|
||||
Hebrew Bible XML path: OSHB
|
||||
Greek Bible USFM path: UGNT
|
||||
User default file: User/User_defaults.txt
|
||||
|
||||
===============
|
||||
|
||||
INSTRUCTIONS
|
||||
|
||||
To find the path to the required files, use either Windows File Explorer, Linux Files, or Mac Finder to navigate to where your files are located. Right-click (secondary click) on the file name.
|
||||
|
||||
In Windows or Linux, this will open a dialog box that gives you the path name and the name of the program. Put the path name, either a backslash (Windows) or a forward slash (Linux), and the application name in the appropriate line below.
|
||||
|
||||
In Mac, this will open a menu. If the menu offers "Services," click that and then click "Copy Path"; otherwise click "Copy Path." Then paste the full path in the line below.
|
||||
|
||||
Note in the samples that any program or application that you can call any program or application you care to use.
|
||||
|
||||
The Text Editor
|
||||
|
||||
The text editor is the program or application you will use to edit the files produced by the scripts.
|
||||
|
||||
This line (without the #) will call Komodo Edit 10 on a Mac
|
||||
# Text editor: /Applications/Komodo Edit 10.app
|
||||
|
||||
This line (without the #) will call Komodo Edit on a Linux machine.
|
||||
# Text editor: Komodo-Edit-9/lib/mozilla/Komodo
|
||||
|
||||
This line (without the #) will call Notepad ++ on a Windows machine.
|
||||
# Text editor: "C:\Program Files (x86)\Notepad++\notepad++"
|
||||
|
||||
The Repository Directory
|
||||
|
||||
This is the top directory for all ULB, translationNotes, translationWords, and UDB files.
|
||||
|
||||
Sample Mac path
|
||||
# Repository directory: /Users/John/Documents/git.Door43
|
||||
|
||||
Sample Windows path
|
||||
# Repository directory: C:\Documents\TranslationFiles
|
||||
|
||||
Sample Linux path
|
||||
# Repository directory: home/john/Documents/TranslationFiles
|
|
@ -0,0 +1,27 @@
|
|||
Matthew 41-MAT Mt
|
||||
# Mark 42-MRK Mk
|
||||
# Luke 43-LUK Lu
|
||||
# John 44-JHN Jn
|
||||
# Acts 45-ACT Ac
|
||||
# Romans 46-ROM Ro
|
||||
# 1 Corinthians 47-1CO 1co
|
||||
# 2 Corinthians 48-2CO 2co
|
||||
# Galatians 49-GAL Ga
|
||||
# Ephesians 50-EPH Ep
|
||||
# Philippians 51-PHP Pp
|
||||
# Colossians 52-COL Co
|
||||
# 1 Thessalonians 53-1TH 1th
|
||||
# 2 Thessalonians 54-2TH 2th
|
||||
# 1 Timothy 55-1TI 1ti
|
||||
# 2 Timothy 56-2TI 2ti
|
||||
# Titus 57-TIT Ti
|
||||
# Philemon 58-PHM Pm
|
||||
# Hebrews 59-HEB He
|
||||
# James 60-JAS Jas
|
||||
# 1 Peter 61-1PE 1pe
|
||||
# 2 Peter 62-2PE 2pe
|
||||
# 1 John 63-1JN 1jn
|
||||
# 2 John 64-2JN 2jn
|
||||
# 3 John 65-3JN 3jn
|
||||
# Jude 66-JUD Jud
|
||||
# Revelation 67-REV Re
|
|
@ -0,0 +1,8 @@
|
|||
Joel jol Joel Joe
|
||||
# Obadiah oba Obad Ob
|
||||
# Jonah jon Jonah Jon
|
||||
# Habakkuk hab Hab Hab
|
||||
# Nahum nam Nah Na
|
||||
# Zephaniah zep Zeph Zep
|
||||
# Haggai hag Hag Hag
|
||||
# Malachi mal Mal Mal
|
|
@ -0,0 +1,5 @@
|
|||
sh update.nt.sh
|
||||
#perl "/Users/Henry/Google Drive/WA/Test/tWs.from.UGNT.4.pl"
|
||||
#perl "/Users/Henry/Google Drive/WA/Test/tWs.from.UGNT.5.pl"
|
||||
#perl "/Users/Henry/Google Drive/WA/Test/tWs.from.UGNT.6.pl"
|
||||
perl "tWs.from.UGNT.8.pl"
|
|
@ -0,0 +1,6 @@
|
|||
sh update.ot.sh
|
||||
#perl "/Users/Henry/Google Drive/WA/Test/tWs.from.UGNT.4.pl"
|
||||
#perl "/Users/Henry/Google Drive/WA/Test/tWs.from.UGNT.5.pl"
|
||||
#perl "/Users/Henry/Google Drive/WA/Test/tWs.from.UGNT.6.pl"
|
||||
# perl "/Users/Henry/Google Drive/WA/Test/tWs.from.UGNT.7.pl"
|
||||
perl "tWs.from.OSHB.1.pl"
|
|
@ -0,0 +1,2 @@
|
|||
# Connects the URL, Strong's number, and ref for anomalous entries.
|
||||
perl "Mine.URL.Strong.Verse.NT.2.pl"
|
|
@ -0,0 +1,2 @@
|
|||
# Connects the URL, Strong's number, and ref for anomalous entries.
|
||||
perl "Mine.URL.Strong.Verse.OT.2.pl"
|
|
@ -0,0 +1,548 @@
|
|||
# Produces list of tWs for each verse by linking OSHB to ULB through tWs.
|
||||
|
||||
# Taken from tWs.from.UGNT.7.pl, with changes needed because that used USFM
|
||||
# and this uses XML
|
||||
|
||||
# The output from this script is useful for the interleaved PDFs used in MAST.
|
||||
# This version uses an exception file to handle places where the OSHB points to
|
||||
# a tW page different from that on which the ULB term appears.
|
||||
|
||||
# Make sure the correct input file is $ULBfile. Run script.
|
||||
# Output is in $output file.
|
||||
# Check the $missing
|
||||
# file for needed corrections, probably lines needing to be added to the
|
||||
# $exceptions file.
|
||||
|
||||
|
||||
|
||||
use 5.12.0;
|
||||
use File::Slurp;
|
||||
use File::Find ;
|
||||
use Cwd ;
|
||||
use utf8;
|
||||
#use open IN => ":utf8", OUT => ":utf8";
|
||||
use open IO => ":utf8";
|
||||
use List::MoreUtils qw(uniq);
|
||||
|
||||
my ($pwd, $os, $d) = (cwd(), $^O, "\\");
|
||||
if ($os eq "darwin") {$d = "/"}
|
||||
elsif ($os eq "linux") {$d = "/"}
|
||||
else {$d = "\\"}
|
||||
|
||||
my ($cv, $ULBfile, $exceptions, $missing, $log, $output, $workFile, $verseMap) =
|
||||
("00000",
|
||||
"Temp${d}Extract.txt",
|
||||
"Exceptions${d}Exceptions_tWs_from_OSHB.txt",
|
||||
"Output${d}Entries_not_handled.txt",
|
||||
"Logs${d}log.log",
|
||||
"Output${d}tWs_for_OT_PDF.txt",
|
||||
"User${d}tW_work_OT.txt",
|
||||
"OSHB${d}VerseMap.xml",
|
||||
);
|
||||
|
||||
my ($OSHBfile, $topTwDir, $textEditor, $repoPath, $topSourceLangDir);
|
||||
|
||||
my (%entries, %text, %ref, %order, %pages, %listOfPages, %sourcePage, %checkPages, %foundPages, %substitutedPages,
|
||||
%specifiedText, %realPage, %checkPage, %workEntries, %vsn, %StrongNum, %fullText, %ulbOrder, %bkAbr, %bkFull, %relevantSNs,
|
||||
%SNsInCV, %entriesThisSN, %entriesThisPage, %pagesThisSN, %pageThisEntry, %adjust, %newRef);
|
||||
|
||||
my $book;
|
||||
my (@OSHBfileList);
|
||||
|
||||
# ==============================
|
||||
|
||||
chdir("$pwd");
|
||||
open LOG, ">:utf8", "$log" or die "\$log: $log: $!";
|
||||
open OUT, ">:utf8", $output or die "$!";
|
||||
open MISSING, ">$missing" or die "$!";
|
||||
|
||||
|
||||
while (<DATA>) {
|
||||
chomp;
|
||||
if (/([^\t]*)\t([^\t]*)/) {
|
||||
$bkAbr{$2} = $1;
|
||||
$bkFull{$1} = $2;
|
||||
}
|
||||
}
|
||||
|
||||
GetUserDefaults();
|
||||
GetULBBooksToProcess();
|
||||
CheckForRemaps();
|
||||
ReadExceptions();
|
||||
PairtWEntriesTotWPageAndUniqSNs();
|
||||
ReadLinkedSNs();
|
||||
LinkULBtoCV();
|
||||
LinkSNsToULBtextViaEntries();
|
||||
#Output();
|
||||
|
||||
close MISSING;
|
||||
close OUT;
|
||||
close LOG;
|
||||
|
||||
system ("$textEditor $missing");
|
||||
|
||||
print "\n\tDone.\n\n";
|
||||
|
||||
# ==============================
|
||||
|
||||
sub GetUserDefaults {
|
||||
open (my $defaults, "<:utf8", "User${d}User_defaults.txt") or die "User${d}User_defaults.txt:\n$!";
|
||||
|
||||
while (my $thisLine = <$defaults>) {
|
||||
chomp $thisLine;
|
||||
if ($thisLine =~ /^Text editor: (.*)$/) {
|
||||
$textEditor = $1;
|
||||
if ($os eq "darwin") {
|
||||
$textEditor = "open -a $textEditor"
|
||||
}
|
||||
} elsif ($thisLine =~ /^Repository directory: (.*)$/) {
|
||||
$repoPath = $1
|
||||
}
|
||||
}
|
||||
|
||||
say LOG "\$textEditor: $textEditor\n\$repoPath: $repoPath";
|
||||
die "No text editor found" if $textEditor eq "";
|
||||
die "No path to repo found" if $repoPath eq "";
|
||||
|
||||
($topTwDir, $topSourceLangDir) = ("$repoPath${d}en_tw${d}bible", "$repoPath${d}OSHB");
|
||||
|
||||
close $defaults;
|
||||
}
|
||||
|
||||
sub GetULBBooksToProcess {
|
||||
say LOG "GetULBBooksToProcess";
|
||||
open (my $file, "<:utf8", "$workFile") or die "$workFile:\n$!";
|
||||
|
||||
while (my $line = <$file>) {
|
||||
chomp $line;
|
||||
say LOG $line;
|
||||
if ($line =~ /^[^#][^\t]*\t[^\t]*\t([^\t]*)\t[^\t]*$/) {
|
||||
$OSHBfile = "$topSourceLangDir${d}$1.xml";
|
||||
push @OSHBfileList, $OSHBfile;
|
||||
}
|
||||
}
|
||||
|
||||
close $file;
|
||||
say LOG "\@OSHBfileList: @OSHBfileList"
|
||||
}
|
||||
|
||||
sub CheckForRemaps {
|
||||
#say LOG "Checking for remaps";
|
||||
open (my $file, "<:utf8", "$repoPath${d}$verseMap") or die "$verseMap:\n$!";
|
||||
|
||||
while (my $thisLine = <$file>) {
|
||||
chomp $thisLine;
|
||||
#say LOG $thisLine;
|
||||
if ($thisLine =~ /<verse wlc="([^\.]*)\.(\d+)\.(\d+)" kjv="([^\.]*)\.(\d+)\.(\d+)" type="full"\/>/) {
|
||||
#say LOG "*\t$thisLine";
|
||||
my ($oldB, $oldC, $oldV, $newB, $newC, $newV) =($bkFull{$1}, $2, $3, $bkFull{$4}, $5, $6);
|
||||
my $oldie = "$oldB $oldC:$oldV";
|
||||
$newRef{$oldie} = "$newB $newC:$newV";
|
||||
say LOG "**\t" . "\$newRef{$oldie}: " . $newRef{"$oldB $oldC:$oldV"}
|
||||
}
|
||||
}
|
||||
|
||||
close $file;
|
||||
}
|
||||
|
||||
sub ReadExceptions {
|
||||
say LOG "ReadExceptions from \$exceptions: $exceptions";
|
||||
open (my $file, "<:utf8", "$exceptions") or die "$exceptions:\n$!";
|
||||
|
||||
while (my $line = <$file>) {
|
||||
chomp $line;
|
||||
if ($line =~ /^([^#\n][^\t\n]*)\t([^\t\n]*\t[^\t\n]*)$/) {
|
||||
my ($rf, $oldNew) = ($1, $2);
|
||||
say LOG "\$line: $line, \$rf: $rf, \$oldNew: $oldNew";
|
||||
($adjust{$rf}) .= "$oldNew, ";
|
||||
$specifiedText{$rf} = 1;
|
||||
}
|
||||
}
|
||||
|
||||
close $file;
|
||||
|
||||
}
|
||||
|
||||
sub PairtWEntriesTotWPageAndUniqSNs {
|
||||
my (@filesToRun, @relevantSNs) = ();
|
||||
my $filePattern = '*.md' ;
|
||||
find (sub {push @filesToRun, $File::Find::name if (m/^(.*)$filePattern$/)}, $topTwDir) ;
|
||||
#say LOG "\@filesToRun: @filesToRun";
|
||||
foreach my $file (@filesToRun) {
|
||||
my ($thisList, $shortFile) = ("", $file);
|
||||
$shortFile =~ s/$topTwDir\/(.*)\.md/$1/;
|
||||
#if ($shortFile =~ /^(kt|names)/) {
|
||||
my $fileText = read_file("$file", binmode => 'utf8');
|
||||
if ($fileText =~ /^# ([^\n]*)\r?\n/) {
|
||||
$thisList = $1;
|
||||
$thisList =~ s/ \([^\)]*\)//g;
|
||||
$entriesThisPage{$shortFile} = $thisList;
|
||||
my @ULBEntries = split /, /, $thisList;
|
||||
foreach my $ULB (@ULBEntries) {
|
||||
$pageThisEntry{$ULB} = $shortFile;
|
||||
}
|
||||
my @tempArray = split /, /, $thisList;
|
||||
foreach my $slice (@tempArray) {
|
||||
$sourcePage{$slice} = $shortFile;
|
||||
#say LOG "$slice: $sourcePage{$slice}";
|
||||
}
|
||||
}
|
||||
if ($fileText =~ /Strong's(.*)$/ms) {
|
||||
my $SNs = $1;
|
||||
while ($SNs =~ s/[H](\d*)//) {
|
||||
push @relevantSNs, $1;
|
||||
$entriesThisSN{$1} .= "$thisList, ";
|
||||
$pagesThisSN{$1} .= "$shortFile, ";
|
||||
}
|
||||
}
|
||||
@relevantSNs = uniq(@relevantSNs);
|
||||
foreach (@relevantSNs) {
|
||||
$relevantSNs{$_} = "$_";
|
||||
#say LOG $relevantSNs{$_}
|
||||
}
|
||||
#}
|
||||
#say LOG "|$shortFile|: \t |$entriesThisPage{$shortFile}|"
|
||||
}
|
||||
#say LOG "====";
|
||||
#say LOG "====";
|
||||
}
|
||||
|
||||
sub LinkULBtoCV {
|
||||
say LOG "LinkULBtoCV, \$ULBfile: $ULBfile";
|
||||
open IN, "$ULBfile" or die "$ULBfile: $!";
|
||||
while (<IN>) {
|
||||
#say LOG $_;
|
||||
if (/^([^\t]*)\t(.*)$/) {
|
||||
$cv ++;
|
||||
($text{$1}, $fullText{$1}) = ($2, $2);
|
||||
$ref{$cv} = $1;
|
||||
$order{$1} = $cv;
|
||||
}
|
||||
#say LOG "First \$ref{$cv}: $ref{$cv}\n\$text{$ref{$cv}}: $text{$ref{$cv}}";
|
||||
}
|
||||
close IN;
|
||||
foreach my $key (sort keys %ref) {
|
||||
#say LOG "\$key: $key:, \$ref{$key}: $ref{$key}, \$text{$ref{$key}}: $text{$ref{$key}}"
|
||||
}
|
||||
}
|
||||
|
||||
sub ReadLinkedSNs {
|
||||
my ($flag, $OSHBfile) = ("","");
|
||||
foreach $OSHBfile (@OSHBfileList) {
|
||||
#say LOG "opening \$OSHB $OSHBfile";
|
||||
open IN, "$OSHBfile" or die "$OSHBfile can't be opened\n\n";
|
||||
my ($thisBook, $thisChap, $thisVers, $thisRef);
|
||||
my (@pages);
|
||||
while (<IN>) {
|
||||
chomp;
|
||||
if (/<verse osisID="([^\.]*).(\d+).(\d+)">/) {
|
||||
my ($bk, $ch, $vs) = ($1, $2, $3);
|
||||
say LOG "#>\t$bk $ch:$vs";
|
||||
#if (exists $newRef{"$bk $ch:$vs"}) {
|
||||
# $thisRef = $newRef{"$bk $ch:$vs"}
|
||||
#} else {
|
||||
($thisRef) = ("$bkFull{$bk} $ch:$vs");
|
||||
#}
|
||||
say LOG "##\t$bk $ch:$vs, $thisRef";
|
||||
}
|
||||
else {
|
||||
while (/<w lemma="(\w\/)?(\d+)( \w)?"/g) {
|
||||
#say LOG $_;
|
||||
my ($thisNum) = ($2);
|
||||
say LOG "\t\$thisNum: $thisNum, \$SNsInCV{$thisRef}: $SNsInCV{$thisRef}";
|
||||
if (exists $relevantSNs{$thisNum}) {
|
||||
$SNsInCV{$thisRef} .= "$thisNum " unless ($SNsInCV{$thisRef} =~ /\b$thisNum\b/);
|
||||
}
|
||||
say LOG ">\t\$thisNum: $thisNum, \$SNsInCV{$thisRef}: $SNsInCV{$thisRef}";
|
||||
}
|
||||
}
|
||||
}
|
||||
close IN;
|
||||
}
|
||||
my %temp;
|
||||
foreach my $oldRef (sort keys %SNsInCV) {
|
||||
if (exists $newRef{$oldRef}) {
|
||||
$temp{$newRef{$oldRef}} = $SNsInCV{$oldRef};
|
||||
delete $SNsInCV{$oldRef};
|
||||
}
|
||||
}
|
||||
foreach my $changedRef (sort keys %temp) {
|
||||
$SNsInCV{$changedRef} = $temp{$changedRef}
|
||||
}
|
||||
}
|
||||
|
||||
sub LinkSNsToULBtextViaEntries {
|
||||
say LOG "sub LinkSNsToULBtextViaEntries called";
|
||||
foreach my $thisRef (sort keys %ref) {
|
||||
say LOG "\nLinkSNsToULBtextViaEntries: \$thisRef: $thisRef\t\$ref{$thisRef}: $ref{$thisRef}";
|
||||
(%workEntries, %ulbOrder) = ();
|
||||
my %workPage;
|
||||
my ($thisCV, $checkList, $tempString, $outString) = ($ref{$thisRef}, "", "", "");
|
||||
say OUT "$thisCV:";
|
||||
my (@allEntries);
|
||||
$listOfPages{$thisCV} = "";
|
||||
#say LOG "\$SNsInCV{$thisCV}: |$SNsInCV{$thisCV}|\n$text{$thisCV}";
|
||||
say LOG "\t\$SNsInCV{$thisCV}: >$SNsInCV{$thisCV}<";
|
||||
$SNsInCV{$thisCV} =~ s/^ +//;
|
||||
$SNsInCV{$thisCV} =~ s/ +$//;
|
||||
$SNsInCV{$thisCV} =~ s/ {2,}/ /g;
|
||||
say LOG "*\t\$SNsInCV{$thisCV}: >$SNsInCV{$thisCV}<";
|
||||
if (exists $specifiedText{$thisCV}) {
|
||||
#say LOG "*\t\$SNsInCV{$thisCV}: $SNsInCV{$thisCV}";
|
||||
|
||||
$SNsInCV{$thisCV} = Adjust($SNsInCV{$thisCV}, $thisCV);
|
||||
|
||||
$SNsInCV{$thisCV} =~ s/^ +(.*) +$/$1/;
|
||||
$SNsInCV{$thisCV} =~ s/ {2,}/ /g;
|
||||
say LOG "**\t\$SNsInCV{$thisCV}: >$SNsInCV{$thisCV}<";
|
||||
}
|
||||
#say LOG "<>\t<>\t\$SNsInCV{$thisCV}: |$SNsInCV{$thisCV}|";
|
||||
my @regArray = split / /, $SNsInCV{$thisCV};
|
||||
say LOG "\@regArray: >@regArray<";
|
||||
foreach my $thisNum (@regArray) {
|
||||
my ($found, $specPage);
|
||||
say LOG "\$thisNum: >$thisNum<\t\$entriesThisSN{$thisNum}: >$entriesThisSN{$thisNum}<";
|
||||
if ($thisNum =~ /\d+(\[(\w+)\])/) {
|
||||
$outString .= "$1($pageThisEntry{$2})\n";
|
||||
next;
|
||||
} elsif ($thisNum =~ /\d+(\(([\w\/]+)\))/) {
|
||||
$specPage .= $2;
|
||||
say LOG "\$specPage: $specPage";
|
||||
}
|
||||
if ($specPage) {
|
||||
$workEntries{$thisNum} = $entriesThisPage{$specPage};
|
||||
} else {
|
||||
$workEntries{$thisNum} = $entriesThisSN{$thisNum};
|
||||
}
|
||||
$workEntries{$thisNum} =~ s/, $//;
|
||||
say LOG "**\t\$thisNum: >$thisNum<\t\$workEntries{$thisNum}: >$workEntries{$thisNum}<";
|
||||
my @beforeArray = split /, /, $workEntries{$thisNum};
|
||||
my @sortedArray = reverse sort { substr($a,0,1) <=> substr($b,0,1)
|
||||
|| length($a) <=> length($b)
|
||||
|| $a <=> $b }
|
||||
@beforeArray;
|
||||
$" = "\n\t";
|
||||
say LOG "\@sortedArray: @sortedArray\n\$outString: $outString";
|
||||
foreach my $entry (@sortedArray) {
|
||||
my $testEntry = $entry;
|
||||
print LOG "\$entry: $entry. Becomes ";
|
||||
while ($testEntry =~ s/^(.*) \.\.\. (.*)/($1)\\b(.*?)\\b($2)/) {}
|
||||
print LOG "\$testEntry: |$testEntry| and is ";
|
||||
if ($testEntry =~ /\(\.\*\?\)/ && $text{$thisCV} =~ s/\b($testEntry)\b/$3/i) {
|
||||
say LOG "\n===\n and is found in first test.\n===";
|
||||
$outString .= "[$entry]($pageThisEntry{$entry})\n";
|
||||
$found = 1;
|
||||
goto Breakout;
|
||||
} elsif ($text{$thisCV} =~ s/\b($testEntry)\b//i) {
|
||||
say LOG "\n===\nand is found in second test.\n===";
|
||||
$outString .= "[$entry]($pageThisEntry{$entry})\n";
|
||||
$found = 1;
|
||||
goto Breakout;
|
||||
} else {
|
||||
say LOG "and is not found in\n$text{$ref{$thisRef}}";
|
||||
}
|
||||
}
|
||||
Breakout:
|
||||
say MISSING "$thisCV $thisNum" unless ($found);
|
||||
next if $found;
|
||||
}
|
||||
say LOG "\t\$outString: $outString";
|
||||
$outString = ProperOrderOutString($outString, $thisCV);
|
||||
say LOG "<>\t\$outString: $outString";
|
||||
say OUT "$outString";
|
||||
#say LOG "sub LinkSNsToULBtextViaEntries finished";
|
||||
}
|
||||
}
|
||||
|
||||
sub Adjust {
|
||||
my ($snsOld, $ref, $snsNew, $addToSnsNew) = ($_[0], $_[1], "", "");
|
||||
say LOG "\$specifiedText{$ref}: $specifiedText{$ref}\n\$snsOld: $snsOld";
|
||||
my (%tempEntries);
|
||||
#say LOG ">\t\$sns: |$sns|";
|
||||
#say LOG ">\t\$specifiedText{$ref}: |$specifiedText{$ref}|";
|
||||
$snsOld =~ s/^ +LinkSNsToULBtextViaEntries//;
|
||||
my @oldArray = split / /, $snsOld;
|
||||
#say LOG "\$adjust{$ref}: $adjust{$ref}";
|
||||
my @preadjustments = split /, /, $adjust{$ref};
|
||||
foreach my $adjustment (@preadjustments) {
|
||||
#say LOG "<><>\t\$adjustment: >$adjustment<";
|
||||
if ($adjustment =~ /([^\t]*)\t\|\|$/) { # delete this from list to look for
|
||||
my $found = $1;
|
||||
$snsOld =~ s/$found ?//;
|
||||
say LOG "\$found: $found should be deleted from \$snsOld: $snsOld";
|
||||
} elsif ($adjustment =~ /^\|\|\t(.*)/) { # add this to list to look for
|
||||
my $adj = $1;
|
||||
say LOG "\$adjustment: $adjustment, \$adj: $adj";
|
||||
if ($adj =~ /([^\t]*)\t([^\t]*)/) {
|
||||
$snsNew = "[$1]($pageThisEntry{$2})"
|
||||
} else {
|
||||
$snsNew .= "$adj "
|
||||
}
|
||||
} elsif ($adjustment =~ /^(\d+)\t(\w+)$/) { # add specified word
|
||||
my ($found1, $found2) = ($1, $2);
|
||||
#$addToSnsNew .= "$1\[$2\] ";
|
||||
$snsOld =~ s/$found1/$found1\[$found2\]/;
|
||||
say LOG "\$snsOld: $snsOld";
|
||||
} elsif (($adjustment =~ /^(\d+)\t([\/\d\w]+)$/)) { # add specified page
|
||||
#$addToSnsNew .= "$1\{$2\} "
|
||||
my ($found1, $found2) = ($1, $2);
|
||||
$snsOld =~ s/$found1/$found1\($found2\)/;
|
||||
say LOG "\$snsOld: $snsOld";
|
||||
}
|
||||
}
|
||||
say LOG "\$snsNew: >$snsNew<\n\$snsOld+\$snsNew: >$snsOld< >$snsNew<";
|
||||
$snsNew = "$snsOld $snsNew";
|
||||
return $snsNew;
|
||||
}
|
||||
|
||||
sub Output {
|
||||
#say LOG "Output subRoutine called";
|
||||
foreach my $key (sort keys %ref) {
|
||||
my %donePages;
|
||||
my $thisRef = $ref{$key};
|
||||
#print LOG "\$key: $key\t\$thisRef: $thisRef\t";
|
||||
#say LOG "\$SNsInCV{$thisRef}: |$SNsInCV{$thisRef}|";
|
||||
$SNsInCV{$thisRef} =~ s/^ +//;
|
||||
$SNsInCV{$thisRef} =~ s/ +$//;
|
||||
$SNsInCV{$thisRef} =~ s/ {2,}/ /;
|
||||
#say LOG "\$SNsInCV{$thisRef}: |$SNsInCV{$thisRef}|";
|
||||
#say LOG "\$listOfPages{$thisRef}: |$listOfPages{$thisRef}|";
|
||||
#$listOfPages{$thisRef} =~ s/^ +//;
|
||||
#$listOfPages{$thisRef} =~ s/ +$//;
|
||||
#$listOfPages{$thisRef} =~ s/ {2,}/ /;
|
||||
#say LOG "\$listOfPages{$thisRef}: |$listOfPages{$thisRef}|";
|
||||
my @array = split /\n/, $listOfPages{$thisRef};
|
||||
#say LOG "\@array: |@array|";
|
||||
my @sorted =
|
||||
sort sort { lc($a) cmp lc($b) }
|
||||
@array;
|
||||
#say LOG "\@sorted: |@sorted|";
|
||||
$" = "\n";
|
||||
$listOfPages{$thisRef} = "@sorted";
|
||||
say LOG "\$listOfPages{$thisRef}: $listOfPages{$thisRef}\n\$checkPages{$thisRef}: $checkPages{$thisRef}";
|
||||
#say OUT "$thisRef: $listOfPages{$thisRef}\n";
|
||||
$checkPages{$thisRef} =~ s/^ +//;
|
||||
$checkPages{$thisRef} =~ s/ +$//;
|
||||
$checkPages{$thisRef} =~ s/ {2,}/ /;
|
||||
$checkPages{$thisRef} =~ s/ \|\|//;
|
||||
say LOG "\$checkPages{$thisRef}:\t|$checkPages{$thisRef}|";
|
||||
my @checkArray = split / /, $checkPages{$thisRef};
|
||||
shift @sorted;
|
||||
#say LOG "\@checkArray: |@checkArray|";
|
||||
#say LOG "\@sorted: |@sorted|";
|
||||
#shift @sorted;
|
||||
#say LOG "\@sorted: |@sorted|";
|
||||
foreach my $slice (@sorted) {
|
||||
#print LOG "\$slice: $slice\t";
|
||||
$slice =~ s/\[.*?\]\((.*?)\)/$1/;
|
||||
#say LOG "\t\$slice: $slice";
|
||||
$donePages{$slice} = $slice;
|
||||
#say LOG "\t\$donePages{$slice}: $donePages{$slice}"
|
||||
}
|
||||
#say LOG "\@checkArray: |@checkArray|";
|
||||
foreach my $slice (@checkArray) {
|
||||
#say LOG "\$slice: $slice";
|
||||
unless (exists $donePages{$slice}) {
|
||||
#say LOG "\$thisRef: $thisRef\t\$slice:$slice";
|
||||
#say MISSING "$thisRef\t$slice\t||";
|
||||
say MISSING "$thisRef\t$slice";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sub Substitute {
|
||||
foreach my $key (sort keys %pages) {
|
||||
say LOG "\$key: $key\t\$SNsInCV{$key}: $SNsInCV{$key}";
|
||||
if (exists $substitutedPages{$key}) {
|
||||
#say LOG "\$substitutedPages{$key}: $substitutedPages{$key}";
|
||||
$substitutedPages{$key} =~ s/, $//;
|
||||
my @array = split /, /, $substitutedPages{$key};
|
||||
foreach my $slice (@array) {
|
||||
#say LOG "\$slice: $slice";
|
||||
if ($slice =~ /([^\t]*)\t([^\t]*)/) {
|
||||
#say LOG "\n\$key: $key";
|
||||
my ($old, $new) = ($1, $2);
|
||||
#say LOG "\$old: >$old<\t\$new: >$new<";
|
||||
#say LOG "\$SNsInCV{$key}: >>$SNsInCV{$key}<<";
|
||||
if ($old eq "||") {
|
||||
$SNsInCV{$key} .= "$new ";
|
||||
$checkPages{$key} = $SNsInCV{$key};
|
||||
}
|
||||
elsif ($new eq "||") {
|
||||
$SNsInCV{$key} =~ s/$old //;
|
||||
$checkPages{$key} = $SNsInCV{$key};
|
||||
}
|
||||
else {
|
||||
$SNsInCV{$key} =~ s/$old/$new/;
|
||||
$checkPages{$key} = $SNsInCV{$key};
|
||||
}
|
||||
$SNsInCV{$key} =~ s/ \|\|//g;
|
||||
#say LOG "\$SNsInCV{$key}: >>>$SNsInCV{$key}<<<";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$checkPages{$key} = $SNsInCV{$key};
|
||||
}
|
||||
say LOG "<>\t\$key: $key\t\$SNsInCV{$key}: $SNsInCV{$key}";
|
||||
}
|
||||
}
|
||||
sub ProperOrderOutString {
|
||||
my @unordered = split /\n/, $_[0];
|
||||
my ($thisCV, $outS) = ($_[1], "");
|
||||
my (%orderedSet);
|
||||
foreach my $thisSet (@unordered) {
|
||||
if ($thisSet =~ /(\[([^\]]*)\])(\([^\)]*\))/) {
|
||||
my ($ulb, $fileLoc) = ($2, $3);
|
||||
if ($fullText{$thisCV} =~ /^(.*?)\b($ulb)\b(.*)$/) {
|
||||
my ($order) = (length $1);
|
||||
$orderedSet{$order} = $thisSet;
|
||||
}
|
||||
}
|
||||
}
|
||||
foreach my $key (sort {$a<=>$b} keys %orderedSet) {
|
||||
$outS .= "$orderedSet{$key}\n"
|
||||
}
|
||||
return $outS;
|
||||
}
|
||||
|
||||
__DATA__
|
||||
1Chr 1 Chronicles
|
||||
1Kgs 1 Kings
|
||||
1Sam 1 Samuel
|
||||
2Chr 2 Chronicles
|
||||
2Kgs 2 Kings
|
||||
2Sam 2 Samuel
|
||||
Amos Amos
|
||||
Dan Daniel
|
||||
Deut Deuteronomy
|
||||
Eccl Ecclesiastes
|
||||
Esth Esther
|
||||
Exod Exodus
|
||||
Ezek Ezekiel
|
||||
Ezra Ezra
|
||||
Gen Genesis
|
||||
Hab Habakkuk
|
||||
Hag Haggai
|
||||
Hos Hosea
|
||||
Isa Isaiah
|
||||
Jer Jeremiah
|
||||
Job Job
|
||||
Joel Joel
|
||||
Jonah Jonah
|
||||
Josh Joshua
|
||||
Judg Judges
|
||||
Lam Lamentations
|
||||
Lev Leviticus
|
||||
Mal Malachi
|
||||
Mic Micah
|
||||
Nah Nahum
|
||||
Neh Nehemiah
|
||||
Num Numbers
|
||||
Obad Obadiah
|
||||
Prov Proverbs
|
||||
Ps Psalms
|
||||
Ruth Ruth
|
||||
Song Song of Songs
|
||||
Zech Zechariah
|
||||
Zeph Zephaniah
|
|
@ -0,0 +1,441 @@
|
|||
# Produces list of tWs for each verse by linking UGNT to ULB through tWs.
|
||||
|
||||
# Seems to give usable output but puts \d John in MISSING when John is also processed.
|
||||
|
||||
# Derived from version from OT.
|
||||
|
||||
# The output from this script is useful for the interleaved PDFs used in MAST.
|
||||
# This version uses an exception file to handle places where the UGNT points to
|
||||
# a tW page different from that on which the ULB term appears.
|
||||
|
||||
# Make sure the correct input file is $ULBfile. Run script.
|
||||
# Output is in $output file.
|
||||
# Check the $missing
|
||||
# file for needed corrections, probably lines needing to be added to the
|
||||
# $exceptions file.
|
||||
|
||||
|
||||
|
||||
use 5.12.0;
|
||||
use File::Slurp;
|
||||
use File::Find ;
|
||||
use Cwd ;
|
||||
use utf8;
|
||||
#use open IN => ":utf8", OUT => ":utf8";
|
||||
use open IO => ":utf8";
|
||||
use List::MoreUtils qw(uniq);
|
||||
|
||||
my ($pwd, $os, $d) = (cwd(), $^O, "\\");
|
||||
if ($os eq "darwin") {$d = "/"}
|
||||
elsif ($os eq "linux") {$d = "/"}
|
||||
else {$d = "\\"}
|
||||
|
||||
my ($cv, $ULBfile, $exceptions, $missing, $log, $output, $workFile, $UGNTfile, $topSourceLangDir, $textEditor, $repoPath, $topTwDir) =
|
||||
("00000",
|
||||
"Temp${d}Extract.txt",
|
||||
"Exceptions${d}Exceptions_tWs_from_UGNT.txt",
|
||||
"Output${d}Entries_not_handled.txt",
|
||||
"Logs${d}log.log",
|
||||
"Output${d}tWs_for_NT_PDF.txt",
|
||||
"User${d}tW.work.NT.dat"
|
||||
);
|
||||
|
||||
my (%entries, %text, %ref, %order, %pages, %listOfPages, %sourcePage, %checkPages, %foundPages, %substitutedPages,
|
||||
%specifiedText, %realPage, %checkPage, %workEntries, %vsn, %StrongNum, %fullText, %ulbOrder);
|
||||
|
||||
my $book;
|
||||
my @UGNTfileList;
|
||||
|
||||
# ==============================
|
||||
|
||||
chdir("$pwd");
|
||||
open LOG, ">:utf8", "$log" or die "\$log: $log: $!";
|
||||
open OUT, ">:utf8", $output or die "$!";
|
||||
open MISSING, ">$missing" or die "$!";
|
||||
|
||||
GetUserDefaults();
|
||||
GetULBBooksToProcess();
|
||||
ReadExceptions();
|
||||
PairtWEntriesTotWPage();
|
||||
ReadLinkedSNs();
|
||||
LinkULBtoCV();
|
||||
LinkEntriestoULBtext();
|
||||
|
||||
close MISSING;
|
||||
close OUT;
|
||||
close LOG;
|
||||
|
||||
if ($os eq "darwin") {
|
||||
system ("open -a $textEditor $missing");
|
||||
} else {
|
||||
system ("$textEditor $missing");
|
||||
}
|
||||
|
||||
print "\n\tDone.\n\n";
|
||||
|
||||
# ==============================
|
||||
|
||||
sub GetUserDefaults {
|
||||
open (my $defaults, "<:utf8", "User${d}User_defaults.txt") or die "User${d}User_defaults.txt:\n$!";
|
||||
|
||||
while (my $thisLine = <$defaults>) {
|
||||
chomp $thisLine;
|
||||
if ($thisLine =~ /^Text editor: (.*)$/) {
|
||||
$textEditor = $1;
|
||||
} elsif ($thisLine =~ /^Repository directory: (.*)$/) {
|
||||
$repoPath = $1
|
||||
}
|
||||
}
|
||||
|
||||
say LOG "\$textEditor: $textEditor, \$repoPath: $repoPath";
|
||||
die "No text editor found" if $textEditor eq "";
|
||||
die "No path to repo found" if $repoPath eq "";
|
||||
|
||||
$topTwDir = "$repoPath${d}en_tw${d}bible";
|
||||
$topSourceLangDir = "$repoPath${d}";
|
||||
|
||||
close $defaults;
|
||||
}
|
||||
|
||||
sub GetULBBooksToProcess {
|
||||
open (my $file, "<:utf8", "$workFile") or die "$workFile:\n$!";
|
||||
|
||||
while (my $line = <$file>) {
|
||||
chomp $line;
|
||||
if ($line =~ /^[^#][^\t\n]*\t([^\t\n]*)\t[^\t\n]*$/) {
|
||||
$UGNTfile = "$repoPath/UGNT/$1.usfm";
|
||||
push @UGNTfileList, $UGNTfile;
|
||||
}
|
||||
}
|
||||
|
||||
close $file;
|
||||
#say LOG "\@UGNTfileList: @UGNTfileList"
|
||||
}
|
||||
|
||||
sub ReadExceptions {
|
||||
say LOG "ReadExceptions from \$exceptions: $exceptions";
|
||||
open (my $file, "<:utf8", "$exceptions") or die "$exceptions:\n$!";
|
||||
|
||||
while (my $line = <$file>) {
|
||||
chomp $line;
|
||||
#say LOG $line;
|
||||
if ($line =~ /^([^#][^\t\n]*)\t([^\t\n]*\t[^\t\n]*)$/) {
|
||||
my ($ref, $oldNew) = ($1, $2);
|
||||
$substitutedPages{$ref} .= "$oldNew, ";
|
||||
#say LOG "$ref|\t|\$substitutedPages{$ref}: $substitutedPages{$ref}"
|
||||
} elsif ($line =~ /^([^#][^\t\n]*)\t([^\t\n]*>[^\t\n]*)$/) {
|
||||
my ($ref, $oldNew) = ($1, $2);
|
||||
$specifiedText{$ref} .= "$oldNew, ";
|
||||
#say LOG "$ref|\t|\$specifiedText{$ref}: $specifiedText{$ref}"
|
||||
} elsif ($line =~ /\|\|$/) {}
|
||||
}
|
||||
|
||||
close $file;
|
||||
|
||||
}
|
||||
|
||||
sub PairtWEntriesTotWPage {
|
||||
my @filesToRun = ();
|
||||
my $filePattern = '*.md' ;
|
||||
find (sub {push @filesToRun, $File::Find::name if (m/^(.*)$filePattern$/)}, $topTwDir) ;
|
||||
#say LOG "\@filesToRun: @filesToRun";
|
||||
foreach my $file (@filesToRun) {
|
||||
my $shortFile = $file;
|
||||
$shortFile =~ s/$topTwDir\/(.*)\.md/$1/;
|
||||
my $fileText = read_file("$file", binmode => 'utf8');
|
||||
if ($fileText =~ /^# ([^\n]*)\r?\n/) {
|
||||
my $thisList = $1;
|
||||
$thisList =~ s/ \([^\)]*\)//g;
|
||||
$entries{$shortFile} = $thisList;
|
||||
my @tempArray = split /, /, $thisList;
|
||||
foreach my $slice (@tempArray) {
|
||||
$sourcePage{$slice} = $shortFile;
|
||||
#say LOG "$slice: $sourcePage{$slice}";
|
||||
}
|
||||
}
|
||||
#say LOG "\$file: $file, \$shortFile: |$shortFile|, \$entries{$shortFile}: |$entries{$shortFile}|"
|
||||
}
|
||||
}
|
||||
|
||||
sub LinkULBtoCV {
|
||||
say LOG "LinkULBtoCV called for \$ULBfile $ULBfile";
|
||||
open IN, "$ULBfile" or die "$ULBfile: $!";
|
||||
while (<IN>) {
|
||||
chomp;
|
||||
if (/^([^\t]*)\t(.*)$/) {
|
||||
$cv ++;
|
||||
($text{$1}, $fullText{$1}) = ($2, $2);
|
||||
$ref{$cv} = $1;
|
||||
$order{$1} = $cv;
|
||||
}
|
||||
#say LOG "First \$ref{$cv}: $ref{$cv}\n\$text{$ref{$cv}}: $text{$ref{$cv}}";
|
||||
}
|
||||
close IN;
|
||||
#foreach my $key (sort keys %ref) {
|
||||
# #say LOG "$key: $ref{$key}: $text{$ref{$key}}"
|
||||
#}
|
||||
}
|
||||
|
||||
sub ReadLinkedSNs {
|
||||
my ($flag, $UGNTfile) = ("","");
|
||||
foreach $UGNTfile (@UGNTfileList) {
|
||||
#say LOG "opening \$UGNTfile $UGNTfile";
|
||||
open IN, "$UGNTfile" or die "$UGNTfile can't be opened\n\n";
|
||||
my ($thisBook, $thisChap, $thisVers, $thisRef);
|
||||
my (@pages);
|
||||
while (<IN>) {
|
||||
chomp;
|
||||
if (/\\v (\d+)/) {
|
||||
($thisVers, $thisRef) = ($1, "$thisBook $thisChap:$1");
|
||||
}
|
||||
elsif (/\\c (\d+)/) {
|
||||
($thisChap, $thisRef) = ($1, "$thisBook $1:1");
|
||||
}
|
||||
elsif (/\\mt (.*)$/) {
|
||||
($thisBook, $thisRef) = ($1, "$thisBook 1:1");
|
||||
}
|
||||
elsif (/\\k-s.*rc:\/\/\*\/tw\/dict\/bible\/([^"]*)"/) {
|
||||
#say LOG $_;
|
||||
my ($thisPage) = ($1);
|
||||
$pages{$thisRef} .= "$thisPage ";
|
||||
}
|
||||
elsif (/\\w .*strong="([^"]*)".*x-tw="rc:\/\/\*\/tw\/dict\/bible\/([^"]*\/[^"]*)"/) {
|
||||
#say LOG $_;
|
||||
my ($thisPage) = ($2);
|
||||
# Need to find a way to log what Strong's number is being called here.
|
||||
$StrongNum{$thisPage} = $1;
|
||||
#$pages{$thisRef} .= "$thisPage,$StrongNum{$thisPage} ";
|
||||
$pages{$thisRef} .= "$thisPage ";
|
||||
#say LOG "\$StrongNum{$thisPage}: $StrongNum{$thisPage}\n\$pages{$thisRef}: $pages{$thisRef}\n";
|
||||
}
|
||||
}
|
||||
close IN;
|
||||
}
|
||||
foreach my $key (sort keys %pages) {
|
||||
say LOG "\t\$key: $key\t\$pages{$key}: $pages{$key}";
|
||||
if (exists $substitutedPages{$key}) {
|
||||
#say LOG "\$substitutedPages{$key}: $substitutedPages{$key}";
|
||||
$substitutedPages{$key} =~ s/, $//;
|
||||
my @array = split /, /, $substitutedPages{$key};
|
||||
foreach my $slice (@array) {
|
||||
#say LOG "\$slice: $slice";
|
||||
if ($slice =~ /([^\t]*)\t([^\t]*)/) {
|
||||
#say LOG "\n\$key: $key";
|
||||
my ($old, $new) = ($1, $2);
|
||||
#say LOG "\$old: >$old<\t\$new: >$new<";
|
||||
#say LOG "\$pages{$key}: >>$pages{$key}<<";
|
||||
if ($old eq "||") {
|
||||
$pages{$key} .= "$new ";
|
||||
$checkPages{$key} = $pages{$key};
|
||||
}
|
||||
elsif ($new eq "||") {
|
||||
$pages{$key} =~ s/$old //;
|
||||
$checkPages{$key} = $pages{$key};
|
||||
}
|
||||
else {
|
||||
$pages{$key} =~ s/$old/$new/;
|
||||
$checkPages{$key} = $pages{$key};
|
||||
}
|
||||
$pages{$key} =~ s/ \|\|//g;
|
||||
#say LOG "\$pages{$key}: >>>$pages{$key}<<<";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$checkPages{$key} = $pages{$key};
|
||||
}
|
||||
say LOG "<>\t\$key: $key\t\$pages{$key}: $pages{$key}";
|
||||
}
|
||||
}
|
||||
|
||||
sub LinkEntriestoULBtext {
|
||||
say LOG "sub LinkEntriestoULBtext called";
|
||||
foreach my $key (sort keys %ref) {
|
||||
say LOG "\nLinkEntriestoULBtext: \$key: $key\t\$ref{$key}: $ref{$key}";
|
||||
(%workEntries, %ulbOrder) = ();
|
||||
my %workPage;
|
||||
my ($thisRef, $checkList, $tempString) = ($ref{$key}, "", "");
|
||||
my (@allEntries);
|
||||
$listOfPages{$thisRef} = "";
|
||||
say LOG "\$pages{$thisRef}: |$pages{$thisRef}|\n$text{$thisRef}";
|
||||
#say LOG "\$pages{$thisRef}: |$pages{$thisRef}|";
|
||||
$pages{$thisRef} =~ s/^ +//;
|
||||
$pages{$thisRef} =~ s/ +$//;
|
||||
$pages{$thisRef} =~ s/ {2,}/ /g;
|
||||
say LOG "\$pages{$thisRef}: |$pages{$thisRef}|";
|
||||
if (exists $specifiedText{$thisRef}) {
|
||||
#say LOG "*\t\$specifiedText{$thisRef}: $specifiedText{$thisRef}";
|
||||
$specifiedText{$thisRef} =~ s/, $//;
|
||||
SpecifyText($pages{$thisRef}, $thisRef);
|
||||
#say LOG "**\t\$specifiedText{$thisRef}: $specifiedText{$thisRef}";
|
||||
} else {
|
||||
#say LOG "<>\t<>\t\$pages{$thisRef}: |$pages{$thisRef}|";
|
||||
my @regArray = split / /, $pages{$thisRef};
|
||||
foreach my $thisPage (@regArray) {
|
||||
say LOG "1\t\$thisPage: $thisPage\t\$entries{$thisPage}: $entries{$thisPage}";
|
||||
$workEntries{$thisPage} = $entries{$thisPage};
|
||||
say LOG "2\t\$thisPage: $thisPage\t\$workEntries{$thisPage}: $workEntries{$thisPage}"
|
||||
}
|
||||
}
|
||||
foreach my $thisPage (sort keys %workEntries) {
|
||||
say LOG "\$thisPage: $thisPage,\n\t\$workEntries{$thisPage}: $workEntries{$thisPage}";
|
||||
$workEntries{$thisPage} =~ s/ $//;
|
||||
$workEntries{$thisPage} =~ s/^ //;
|
||||
$workEntries{$thisPage} =~ s/ {2,}/ /;
|
||||
say LOG ">|>\t\$workEntries{$thisPage}: |$workEntries{$thisPage}|";
|
||||
$tempString .= "$workEntries{$thisPage}, ";
|
||||
my (@workArray) = split /, /, $workEntries{$thisPage};
|
||||
foreach my $wentry (@workArray) {
|
||||
$workPage{$wentry} = $thisPage;
|
||||
#say LOG "\$workPage{$wentry}: $workPage{$wentry}";
|
||||
}
|
||||
}
|
||||
$tempString =~ s/, $//;
|
||||
$tempString =~ s/^, //;
|
||||
say LOG "->\t\$tempString: |$tempString|";
|
||||
@allEntries = split /, /, $tempString;
|
||||
say LOG "\n\@allEntries: |@allEntries|";
|
||||
my @revsort = reverse sort { substr($a,0,1) <=> substr($b,0,1)
|
||||
|| length($a) <=> length($b)
|
||||
|| $a <=> $b }
|
||||
@allEntries;
|
||||
#say LOG "\n\@revsort: |@revsort|\n";
|
||||
foreach my $slice (@revsort) {
|
||||
#say LOG "\$slice: |$slice|";
|
||||
my ($searchSlice, $restoredSourcePage) = ($slice, $sourcePage{$slice});
|
||||
#$searchSlice =~ s/^(.*) \.\.\. (.*)/($1)(.*?)($2)/g;
|
||||
while ($searchSlice =~ s/^(.*) \.\.\. (.*)/($1)\\b(.*?)\\b($2)/) {}
|
||||
print LOG "\$searchSlice: |$searchSlice|\t";
|
||||
if ($searchSlice =~ /\(\.\*\?\)/ && $text{$thisRef} =~ s/\b($searchSlice)\b/$3/i) {
|
||||
say LOG " found in first test.";
|
||||
$listOfPages{$thisRef} .= "\n[$slice]($workPage{$slice})";
|
||||
my $thisSlice = $1;
|
||||
if ($fullText{$thisRef} =~ /^(.*)\b$thisSlice\b.*$/) {
|
||||
my $lenPre = length $1;
|
||||
while (length $lenPre < 3) {$lenPre =~ s/^/0/}
|
||||
$ulbOrder{$lenPre} = "[$slice]($workPage{$slice})";
|
||||
say LOG "**\t\$lenPre: $lenPre\t\$ulbOrder{$lenPre}: $ulbOrder{$lenPre}";
|
||||
}
|
||||
$sourcePage{$searchSlice} = $restoredSourcePage;
|
||||
#say LOG "\$sourcePage{$slice}: $sourcePage{$slice}\t\$sourcePage{$searchSlice}: $sourcePage{$searchSlice}";
|
||||
$checkList =~ s/$checkPage{$slice}//;
|
||||
say LOG ">> $text{$thisRef}";
|
||||
say LOG ">>> \$listOfPages{$thisRef}: |$listOfPages{$thisRef}|";
|
||||
} elsif ($text{$thisRef} =~ s/\b($searchSlice)\b//i) {
|
||||
say LOG " found in second test.";
|
||||
my $thisSlice = $1;
|
||||
$listOfPages{$thisRef} .= "\n[$slice]($workPage{$slice})";
|
||||
if ($fullText{$thisRef} =~ /^(.*?)\b$thisSlice\b.*$/) {
|
||||
my $lenPre = length $1;
|
||||
while (length $lenPre < 3) {$lenPre =~ s/^/0/}
|
||||
$ulbOrder{$lenPre} = "[$slice]($workPage{$slice})";
|
||||
say LOG "**\t\$lenPre: $lenPre\t\$ulbOrder{$lenPre}: $ulbOrder{$lenPre}";
|
||||
}
|
||||
#$checkPages{$thisRef} .= "\n$workPage{$searchSlice}";
|
||||
#say LOG "\$sourcePage{$slice}: $sourcePage{$slice}\t\$sourcePage{$searchSlice}: $sourcePage{$searchSlice}";
|
||||
$checkList =~ s/$checkPage{$slice}//;
|
||||
#$listOfPages{$ref{$key}} .= "\n[$slice]($sourcePage{$slice})";
|
||||
#$checkPages{$ref{$key}} .= "\n$sourcePage{$slice}";
|
||||
#$checkList =~ s/$sourcePage{$slice}//;
|
||||
say LOG ">> $text{$thisRef}";
|
||||
say LOG ">>> \$listOfPages{$thisRef}: |$listOfPages{$thisRef}|";
|
||||
} else {
|
||||
say LOG " not found in\n$text{$ref{$key}}";
|
||||
}
|
||||
}
|
||||
while ($checkList =~ /[^\|]+/) {
|
||||
my $found = $&;
|
||||
say LOG "$ref{$key}: $found not dealt with";
|
||||
$checkList =~ s/$found//;
|
||||
}
|
||||
say OUT "$thisRef:";
|
||||
foreach my $key (sort keys %ulbOrder) {
|
||||
say LOG "$key: $ulbOrder{$key}";
|
||||
say OUT "$ulbOrder{$key}"
|
||||
}
|
||||
say OUT "";
|
||||
}
|
||||
#say LOG "sub LinkEntriestoULBtext finished";
|
||||
}
|
||||
|
||||
sub SpecifyText {
|
||||
my ($pages, $ref) = ($_[0], $_[1]);
|
||||
#say LOG "\$specifiedText{$ref}: $specifiedText{$ref}\n";
|
||||
my (%tempEntries);
|
||||
#say LOG ">\t\$pages: |$pages|";
|
||||
#say LOG ">\t\$specifiedText{$ref}: |$specifiedText{$ref}|";
|
||||
$pages =~ s/^ //;
|
||||
my @oldArray = split / /, $pages;
|
||||
my @specText = split /, /, $specifiedText{$ref};
|
||||
foreach my $pair (@specText) {
|
||||
#say LOG ">>>\t\$pair: $pair";
|
||||
if ($pair =~ /^(.*)>(.*)$/) {
|
||||
$tempEntries{$1} = $2;
|
||||
#say LOG "\$tempEntries{$1} = $tempEntries{$1}"
|
||||
}
|
||||
}
|
||||
foreach my $thisPage (@oldArray) {
|
||||
#say LOG "<>\t\$thisPage: $thisPage\n\$tempEntries{$thisPage}: $tempEntries{$thisPage}\n";
|
||||
if (exists $tempEntries{$thisPage}) {
|
||||
$workEntries{$thisPage} = $tempEntries{$thisPage}
|
||||
} else {
|
||||
$workEntries{$thisPage} = $entries{$thisPage}
|
||||
}
|
||||
#say LOG "<>\t\$workEntries{$thisPage}: $workEntries{$thisPage}";
|
||||
}
|
||||
}
|
||||
|
||||
sub Output {
|
||||
#say LOG "Output subRoutine called";
|
||||
foreach my $key (sort keys %ref) {
|
||||
my %donePages;
|
||||
my $thisRef = $ref{$key};
|
||||
#print LOG "\$key: $key\t\$thisRef: $thisRef\t";
|
||||
#say LOG "\$pages{$thisRef}: |$pages{$thisRef}|";
|
||||
$pages{$thisRef} =~ s/^ +//;
|
||||
$pages{$thisRef} =~ s/ +$//;
|
||||
$pages{$thisRef} =~ s/ {2,}/ /;
|
||||
#say LOG "\$pages{$thisRef}: |$pages{$thisRef}|";
|
||||
#say LOG "\$listOfPages{$thisRef}: |$listOfPages{$thisRef}|";
|
||||
#$listOfPages{$thisRef} =~ s/^ +//;
|
||||
#$listOfPages{$thisRef} =~ s/ +$//;
|
||||
#$listOfPages{$thisRef} =~ s/ {2,}/ /;
|
||||
#say LOG "\$listOfPages{$thisRef}: |$listOfPages{$thisRef}|";
|
||||
my @array = split /\n/, $listOfPages{$thisRef};
|
||||
#say LOG "\@array: |@array|";
|
||||
my @sorted =
|
||||
sort sort { lc($a) cmp lc($b) }
|
||||
@array;
|
||||
#say LOG "\@sorted: |@sorted|";
|
||||
$" = "\n";
|
||||
$listOfPages{$thisRef} = "@sorted";
|
||||
#say LOG "\$listOfPages{$thisRef}: $listOfPages{$thisRef}\n\$checkPages{$thisRef}: $checkPages{$thisRef}";
|
||||
#say OUT "$thisRef: $listOfPages{$thisRef}\n";
|
||||
$checkPages{$thisRef} =~ s/^ +//;
|
||||
$checkPages{$thisRef} =~ s/ +$//;
|
||||
$checkPages{$thisRef} =~ s/ {2,}/ /;
|
||||
$checkPages{$thisRef} =~ s/ \|\|//;
|
||||
#say LOG "\$checkPages{$thisRef}:\t|$checkPages{$thisRef}|";
|
||||
my @checkArray = split / /, $checkPages{$thisRef};
|
||||
shift @sorted;
|
||||
#say LOG "\@checkArray: |@checkArray|";
|
||||
#say LOG "\@sorted: |@sorted|";
|
||||
#shift @sorted;
|
||||
#say LOG "\@sorted: |@sorted|";
|
||||
foreach my $slice (@sorted) {
|
||||
#print LOG "\$slice: $slice\t";
|
||||
$slice =~ s/\[.*?\]\((.*?)\)/$1/;
|
||||
#say LOG "\t\$slice: $slice";
|
||||
$donePages{$slice} = $slice;
|
||||
#say LOG "\t\$donePages{$slice}: $donePages{$slice}"
|
||||
}
|
||||
#say LOG "\@checkArray: |@checkArray|";
|
||||
foreach my $slice (@checkArray) {
|
||||
#say LOG "\$slice: $slice";
|
||||
unless (exists $donePages{$slice}) {
|
||||
#say LOG "\$thisRef: $thisRef\t\$slice:$slice";
|
||||
#say MISSING "$thisRef\t$slice\t||";
|
||||
say MISSING "$thisRef\t$slice";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
perl "MakeULB.3.pl"
|
||||
perl "CombineULBandNASBwithCodes.pl";
|
||||
perl "Build_extract_NT.pl";
|
||||
#perl "/Users/Henry/Google Drive/WA/Test/GrepBook.0.pl";
|
|
@ -0,0 +1,4 @@
|
|||
perl "MakeULB.3.pl"
|
||||
perl "CombineULBandNASBwithCodes.pl";
|
||||
perl "Build_extract_OT.pl";
|
||||
#perl "/Users/Henry/Google Drive/WA/Test/GrepBook.0.pl";
|
|
@ -0,0 +1,22 @@
|
|||
echo "ULB"
|
||||
(cd "/Users/Henry/Documents/git.Door43/en_ulb"; git pull)
|
||||
echo "UDB"
|
||||
(cd "/Users/Henry/Documents/git.Door43/en_udb"; git pull)
|
||||
echo "tW"
|
||||
(cd "/Users/Henry/Documents/git.Door43/en_tw"; git pull)
|
||||
echo "tN"
|
||||
(cd "/Users/Henry/Documents/git.Door43/en_tn"; git pull)
|
||||
echo "hq"
|
||||
(cd "/Users/Henry/Documents/git.Door43/en_hq"; git pull)
|
||||
echo "MakeULB.3.pl"
|
||||
perl "MakeULB.3.pl"
|
||||
echo "FindMismatchedULBSnippets.3.noChunks.pl"
|
||||
perl "FindMismatchedULBSnippets.3.noChunks.pl"
|
||||
echo "CombineULBandNASBwithCodes.pl"
|
||||
perl "CombineULBandNASBwithCodes.pl"
|
||||
open -a /Applications/Firefox.app "Temp/mismatched_snippets.html"
|
||||
echo "OpenMismatchedFiles.pl"
|
||||
perl "OpenMismatchedFiles.pl"
|
||||
open -a /Applications/BBEdit.app "Temp/ULB_text.txt"
|
||||
echo "ExtractLinksFromScratchPad.pl"
|
||||
perl "ExtractLinksFromScratchPad.pl"
|
|
@ -0,0 +1,127 @@
|
|||
# Updating the tW list for PDFs
|
||||
|
||||
These procedures work on my Mac. If a version is needed for another machine, I can adapt it, as can anyone familiar with scripts.
|
||||
|
||||
## Suggested repository structure
|
||||
|
||||
You will find it easiest to use this tool if all of your files are in one place, as in this sample repository, which has been taken directly from the Wycliffe Associates database.
|
||||
|
||||
<img align = "bottom"
|
||||
alt = "sample repo"
|
||||
height = "200pt"
|
||||
hspace = "200"
|
||||
src = "FilesForUpdates/SampleRepoStructure.png"
|
||||
/>
|
||||
|
||||
Here the respective directories are for the translationNotes (en_tn), the translationWords (en_tw, with its three divisions into key terms [kt], names, and other terms), the dynamic translation (en_udb), the literal translation (en_ulb), the Hebrew morphological Bible (OSHB) and the Greek mophological Bible (UGNT).
|
||||
|
||||
## Files included in the package
|
||||
|
||||
### User files
|
||||
|
||||
These files, found in the *User* subdirectory are for you to tell the tool what data to look for, how to look for it, and what to do once it has found it.
|
||||
|
||||
The UserDefaults file tells the scripts where you have put the repository (i.e., the ULB, UDB, tN, and tW files) and which text editor to use when it is finished working.
|
||||
|
||||
User.defaults.txt
|
||||
|
||||
These other files tell the Perl scripts which books of either the Old Testament or the New Testament you want to work on.
|
||||
|
||||
tW.work.NT.txt
|
||||
tW.work.OT.txt
|
||||
|
||||
### Main scripts
|
||||
|
||||
These files call the Perl scripts that actually do the work. They are in the form Filename.sh for Mac and Linux, Filename.bat for Windows.
|
||||
|
||||
do.nt.sh
|
||||
do.ot.sh
|
||||
mine.sh
|
||||
update.nt.sh
|
||||
update.ot.sh
|
||||
waa.sh
|
||||
|
||||
### Perl scripts
|
||||
|
||||
These are the scripts that do the work for this tool.
|
||||
|
||||
CombineULBandNASBwithCodes.pl
|
||||
ExtractLinksFromScratchPad.pl
|
||||
FindMismatchedULBSnippets.3.noChunks.pl
|
||||
GrepBook.NT.pl
|
||||
GrepBook.OT.pl
|
||||
MakeULB.3.pl
|
||||
Mine.URL.Strong.Verse.NT.pl
|
||||
Mine.URL.Strong.Verse.OT.pl
|
||||
OpenMismatchedFiles.pl
|
||||
Output.to.csv.pl
|
||||
tWs.from.OSHB.1.pl
|
||||
tWs.from.UGNT.8.pl
|
||||
|
||||
### Output files
|
||||
|
||||
These files are found in the *Output* subdirectory. The file *tWs.for.PDF.txt* is the file you are trying to produce. It is a list of all the translationWords relevant to every verse in the New Testament and the Old Testament. As you are building this file, however, you will find that many of the entries in the source file are not handled. These will be listed in the file *Entries.not.handled.txt*.
|
||||
|
||||
### Exceptions files
|
||||
|
||||
These files, found in the **Exceptions** subdirectory, tell the Perl scripts how to handle words in each verse that do not fit the tW pages easily. You will be editing these files so that the tool produces the proper **tWs.for.PDF.txt** file.
|
||||
|
||||
Exceptions.tWs.from.OSHB.txt
|
||||
Exceptions.tWs.from.UGNT.txt
|
||||
|
||||
### Data files
|
||||
|
||||
This file in the *Data* subdirectory does not change. It tells the main tool what Strong's codes are in the NASB.
|
||||
|
||||
NASB.Strongs.txt
|
||||
|
||||
### Log and temporary files
|
||||
|
||||
You should never have to look at these files, which are found in the *Logs* and *Temp* subdirectories. They are produced at different times when the Perl scripts are run and so often change.
|
||||
|
||||
#### Log files
|
||||
|
||||
log.log
|
||||
mine.log.log
|
||||
|
||||
#### Temporary files
|
||||
|
||||
Extract.txt
|
||||
UDB text.txt
|
||||
ULB text.txt
|
||||
ULB.NASB.Strongs.txt
|
||||
mismatched_snippets.html
|
||||
|
||||
## Procedures
|
||||
|
||||
**First run the do shell for the appropriate testament**
|
||||
|
||||
sh do.ot.sh
|
||||
or
|
||||
sh do.nt.sh
|
||||
|
||||
This will pull the latest of all files down, update the ULB, and check for missing key words.
|
||||
|
||||
**For each missing keyword pair in the missing.log file**
|
||||
|
||||
Select the line, including the EOL
|
||||
Run mine.sh
|
||||
|
||||
>sh mine.sh
|
||||
|
||||
Paste the copied line to answer the prompt
|
||||
Choose the best alternative
|
||||
* change key word associated with the Strong's number
|
||||
* specify ULB text to go with that key word
|
||||
* comment out the key word so it is not in the tW list
|
||||
|
||||
**After dealing with all missing words**
|
||||
|
||||
Push all changes to the Git
|
||||
Run do.sh again to make sure no new errors have been introduced
|
||||
Run waa.sh to check for and correct ULB–tN snippet mismatches
|
||||
|
||||
**After all corrections have been made**
|
||||
|
||||
Run Output.to.csv.pl to update the local repo
|
||||
Commit all changes
|
|
@ -1 +0,0 @@
|
|||
This folder contains a cross-platform tool that provides data that can be used to build lists of key terms, names, and other terms covered in the translationWords pages on each page of the PDF used by translators in MAST events.
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue