From 5666b68b93477c9844ca7066db7662ec7b5db88f Mon Sep 17 00:00:00 2001 From: Nigel Horne Date: Fri, 14 Jun 2024 16:16:04 -0400 Subject: [PATCH] Handle "About:1907-00-00" --- ged2site | 22 +++++++++++++++++++--- tests/test-all-static | 6 ++++-- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/ged2site b/ged2site index ea5d1837..97704813 100755 --- a/ged2site +++ b/ged2site @@ -8838,7 +8838,7 @@ sub print_person complain({ person => $person, warning => 'Assuming country of birth is Canada' }); $birth_country = 'Canada'; $placeofbirth .= ', Canada'; - } elsif(($c eq 'Norfolk') || ($c eq 'Kent') || ($c eq 'Sussex') || ($c eq 'Northumberland') || ($c eq 'London')) { + } elsif(($c eq 'Norfolk') || ($c eq 'Kent') || ($c eq 'Sussex') || ($c eq 'Northumberland') || ($c eq 'London') || ($c eq 'Lancashire')) { $birth_country = 'United Kingdom'; complain({ person => $person, warning => 'Assuming country of birth is UK' }); } elsif($c =~ 'England,?\sUK') { @@ -13355,7 +13355,15 @@ sub parse_date } elsif($date =~ /^abt\s+(.+)/i) { $date = $1; $about = 1; + } elsif($date =~ /^About:(\d.+)/) { + # About:1907-00-00 + $date = $1; + $about = 1; + if($date =~ /^(\d+)\-00\-00$/) { + $date = $1 + } } + if($date =~ /[A-Z]{4,}/i) { if($date =~ /^(\d{1,2})\s([A-Z]{3,})(\d{3,4})/i) { # 22 October1996 @@ -13973,6 +13981,7 @@ sub person_in_residence_record # keep_hrefs => 1 means ensure hyperlinks still work # keep_apos => 1 means keep apostraphes, useful within +# TODO: a lot of this should be table driven sub wide_to_html { my %params; @@ -14053,8 +14062,9 @@ sub wide_to_html $string =~ s/\xc3\xae/î/g; $string =~ s/\xc3\xb1/ñ/g; # ñ $string =~ s/\xc3\xbb/û/g; - $string =~ s/\xc5\x9b/ś/g; + $string =~ s/\xc3\xad/í/g; # í $string =~ s/\xc3\x9f/ß/g; # ß + $string =~ s/\xc5\x9b/ś/g; $string =~ s/\xc5\xa0/Š/g; $string =~ s/\xe2\x80\x93/–/g; $string =~ s/\xe2\x80\x9c/"/g; @@ -14074,6 +14084,7 @@ sub wide_to_html $string =~ s/\N{U+00E4}/ä/g; $string =~ s/\N{U+00E8}/è/g; $string =~ s/\N{U+00E9}/é/g; + $string =~ s/\N{U+00ED}/í/g; # í $string =~ s/\N{U+00EE}/î/g; $string =~ s/\N{U+00E7}/ç/g; # ç $string =~ s/\N{U+00F4}/ô/g; # ô @@ -14146,6 +14157,7 @@ sub wide_to_html $string =~ s/ç/ç/g; $string =~ s/ê/ê/g; $string =~ s/ë/ë/g; + $string =~ s/í/í/g; $string =~ s/©/©/g; $string =~ s/®/®/g; $string =~ s/ó/ó/g; @@ -14255,6 +14267,7 @@ sub wide_to_xml $string =~ s/ë/ë/g; # euml $string =~ s/É/É/g; $string =~ s/ß/ß/g; # ß + $string =~ s/í/í/g; # í $string =~ s/î/î/g; $string =~ s/ü/ü/g; $string =~ s/š/š/g; @@ -14287,6 +14300,7 @@ sub wide_to_xml $string =~ s/\xc3\x96/Ö/g; # Ö $string =~ s/\xc3\x9f/ß/g; # ß $string =~ s/\xc3\xa2/â/g; # â + $string =~ s/\xc3\xad/í/g; # í $string =~ s/\xc3\xa4/ä/g; # ä $string =~ s/\xc3\xa7/ç/g; # ç $string =~ s/\xc3\xb3/ó/g; # ó @@ -14316,6 +14330,7 @@ sub wide_to_xml $string =~ s/\N{U+00AE}/®/g; # ® $string =~ s/\N{U+00E4}/ä/g; # ä $string =~ s/\N{U+00EA}/ê/g; + $string =~ s/\N{U+00ED}/í/g; $string =~ s/\N{U+00EE}/î/g; $string =~ s/\N{U+00C9}/É/g; $string =~ s/\N{U+017E}/ž/g; # ž @@ -14370,7 +14385,7 @@ sub wide_to_xml # print STDERR "\n"; # utf8::decode($string); - + $string =~ s/['\x98]/'/g; $string =~ s/©/©/g; $string =~ s/®/®/g; @@ -14388,6 +14403,7 @@ sub wide_to_xml $string =~ s/é/é/g; $string =~ s/ê/ê/g; $string =~ s/ë/ë/g; + $string =~ s/í/í/g; $string =~ s/û/û/g; $string =~ s/ñ/ñ/g; $string =~ s/ü/ü/g; diff --git a/tests/test-all-static b/tests/test-all-static index 879fe20e..fb8e4e0a 100755 --- a/tests/test-all-static +++ b/tests/test-all-static @@ -3,12 +3,14 @@ set -ex unset GMAP_KEY -for i in ~/gedcoms/*.ged ~/gedcoms/*.GED; do +for i in ~/gedcoms/*.GED ~/gedcoms/*.ged; do rm -rf dynamic-site/data dynamic-site/img static-site/ ./ged2site -cFd "$i" weblint static-site/*html xmllint dynamic-site/data/people.xml > /dev/null - # xmllint dynamic-site/data/locations.xml > /dev/null + if [ -r dynamic-site/data/locations.xml ]; then + xmllint dynamic-site/data/locations.xml > /dev/null + fi grep 'etravel' static-site/*.html && exit 1 # grep ' ' static-site/*.html && exit 1 done