{"id":2515,"date":"2015-01-21T21:46:09","date_gmt":"2015-01-21T12:46:09","guid":{"rendered":"https:\/\/regex.info\/blog\/lightroom-goodies\/people-support"},"modified":"2015-01-22T15:19:41","modified_gmt":"2015-01-22T06:19:41","slug":"people-support","status":"publish","type":"page","link":"https:\/\/regex.info\/blog\/lightroom-goodies\/people-support","title":{"rendered":"Jeffrey&#8217;s &#8220;People Support&#8221; Lightroom Plugin"},"content":{"rendered":"\n\n<style>\n  .with_lhs li { margin-left: 212px }\n\n  div.post_header { margin-left: 216px }\n  #navtab-holder {\n        color: #84F;\n        float:left;\n        position: relative;\n        background-color: black;\n        border-right: solid 2px #888888;\n        top: -44px;\n\n        width: 250px;\n        right: 60px;\n        margin-right: -30px; \/* the main page layout is based upon the unshifted width of the navtab-holder, so this compensates for the right:60px shift *\/\n\n  }\n  #navtab-holder a[href]:visited { color: #84F; text-decoration:none  }\n  #navtab-holder a[href]:link    { color: #84F; text-decoration:none }\n  div.navtab-topbottom {\n       width: 207px;\n       margin-left: 43px;\n       height: 10px;\n  }\n  #navtab-bottom {\n      border-bottom: solid 2px #888888;\n  }\n  div.navtab-list {\n    border: 3px solid #0B0;\n    background-color: #040;\n    padding-left: 10px;\n    margin-right: 10px;\n    -moz-border-radius:    15px;\n    -webkit-border-radius: 15px;\n  }\n\n  div.nav-header {\n      color:white;\n      padding-top: 15px;\n      padding-bottom: 3px;\n      text-align: left;\n      font-weight: bold;\n  }\n  div.sel {\n      margin: 0;\n      padding: 1px;\n  }\n  div.N {\n  }\n  div.post_container {\n    background-color: #181818;\n  }\n\n  div.Y {\n      border: solid 2px #888888;\n      border-right: none;\n      background-color: #181818;\n      font-weight: bold;\n      color: red;\n      overflow:visible;\n      position: relative;\n      z-index: 3;\n      width: 235px;\n      -moz-border-radius:    15px 0 0 15px;\n      -webkit-border-radius: 15px 0 0 15px;\n  }\n  div.sel + div.I { padding-top: 20px }\n  div.sel > div {\n      -moz-border-radius:    15px 0 0 15px;\n      -webkit-border-radius: 15px 0 0 15px;\n      padding: 2px 0 2px 10px;\n      margin: 0 0 5px 0;\n  }\n  div.N > div {\n      border: 2px solid black;\n  }\n  div.N > div {\n      margin-right: 20px;\n      background-color: #222;\n  }\n\n  div.Y + div.N > div { margin-top: 10px }\n\n  div.logo { width: 30px; display: inline-block }\n\n  #arrow {\n    display: inline-block;\n    width: 0px;\n    position:relative;\n    top:5px;\n    left:10px\n  }\n\n<\/style>\n\n\n<div id='navtab-holder'>\n<div class='navtab-topbottom' id='navtab-top'><\/div>\n\n<div class='nav-header' style='text-align:center; color:white'>My Lightroom Plugin for Adobe Photoshop Lightrooms&nbsp;<\/div>\n<div class='navtab-list'>\n<div class='nav-header'>Export &amp; Publish<\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/zenfolio'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><div class='logo'><a href='\/blog\/lightroom-goodies\/zenfolio'><img noindex='1' width='24' height='19' style='margin-left: 0' class='raw' src='\/i\/lr\/sm\/small_zenfolio.png'\/><\/a><\/div> <a href='\/blog\/lightroom-goodies\/zenfolio'>Zenfolio<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/smugmug'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><div class='logo'><a href='\/blog\/lightroom-goodies\/smugmug'><img noindex='1' width='14' height='15' style='margin-left: 5px' class='raw' src='\/i\/lr\/sm\/small_smugmug.png'\/><\/a><\/div> <a href='\/blog\/lightroom-goodies\/smugmug'>SmugMug<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/flickr'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><div class='logo'><a href='\/blog\/lightroom-goodies\/flickr'><img noindex='1' width='24' height='12' style='margin-left: 0' class='raw' src='\/i\/lr\/sm\/small_flickr.png'\/><\/a><\/div> <a href='\/blog\/lightroom-goodies\/flickr'>Flickr<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/google-drive'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><div class='logo'><a href='\/blog\/lightroom-goodies\/google-drive'><img noindex='1' width='19' height='19' style='margin-left: 3px' class='raw' src='\/i\/lr\/sm\/small_googledrive.png'\/><\/a><\/div> <a href='\/blog\/lightroom-goodies\/google-drive'>Google Drive<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/ipernity'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><div class='logo'><a href='\/blog\/lightroom-goodies\/ipernity'><img noindex='1' width='14' height='18' style='margin-left: 0' class='raw' src='\/i\/lr\/sm\/small_ipernity.png'\/><\/a><\/div> <a href='\/blog\/lightroom-goodies\/ipernity'>ipernity<\/a><\/div><\/div>\n<div class='nav-header'>Export Plugins<\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/google-photos'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><div class='logo'><a href='\/blog\/lightroom-goodies\/google-photos'><img noindex='1' width='18' height='19' style='margin-left: 0' class='raw' src='\/i\/lr\/sm\/small_gphotos.png'\/><\/a><\/div> <a href='\/blog\/lightroom-goodies\/google-photos'>Google Photos<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/tumblr'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><div class='logo'><a href='\/blog\/lightroom-goodies\/tumblr'><img noindex='1' width='19' height='19' style='margin-left: 0' class='raw' src='\/i\/lr\/sm\/small_tumblr.png'\/><\/a><\/div> <a href='\/blog\/lightroom-goodies\/tumblr'>Tumblr<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/twitter'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><div class='logo'><a href='\/blog\/lightroom-goodies\/twitter'><img noindex='1' width='23' height='16' style='margin-left: 0' class='raw' src='\/i\/lr\/sm\/twitter_small.png'\/><\/a><\/div> <a href='\/blog\/lightroom-goodies\/twitter'>Twitter<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/photobucket'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><div class='logo'><a href='\/blog\/lightroom-goodies\/photobucket'><img noindex='1' width='20' height='15' style='margin-left: 0' class='raw' src='\/i\/lr\/sm\/small_photobucket.png'\/><\/a><\/div> <a href='\/blog\/lightroom-goodies\/photobucket'>Photobucket<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/order-prints-locally'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/order-prints-locally'>Order Prints Locally<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/expono'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/expono'>Expono<\/a><\/div><\/div>\n<div class='nav-header'>Other Publish Plugins<\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/collection-publisher'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><div class='logo'><a href='\/blog\/lightroom-goodies\/collection-publisher'><img noindex='1' width='24' height='19' style='margin-left: 0' class='raw' src='\/i\/lr\/sm\/collection_publisher_small_icon.png'\/><\/a><\/div> <a href='\/blog\/lightroom-goodies\/collection-publisher'>Collection Publisher<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/folder-publisher'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><div class='logo'><a href='\/blog\/lightroom-goodies\/folder-publisher'><img noindex='1' width='24' height='19' style='margin-left: 0' class='raw' src='\/i\/lr\/sm\/folder-publisher-icon-small.png'\/><\/a><\/div> <a href='\/blog\/lightroom-goodies\/folder-publisher'>Folder Publisher<\/a><\/div><\/div>\n<div class='nav-header'>Export Add-Ons<\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/metadata-wrangler'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/metadata-wrangler'>Metadata Wrangler<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/creative-commons'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/creative-commons'>Creative Commons<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/run-any-command'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/run-any-command'>Run Any Command<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/snapshot-on-export'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/snapshot-on-export'>Snapshot on Export<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/smart-preview-support'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/smart-preview-support'>Smart-Preview Support<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/crop-for-ipad'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/crop-for-ipad'>Crop for iPad and other Devices<\/a><\/div><\/div>\n<div class='nav-header'>Geoencoding Plugins<\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/gps'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/gps'>Geoencoding Support<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/gps-proximity'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/gps-proximity'>Proximity Search<\/a><\/div><\/div>\n<div class='nav-header'>Utility Plugins<\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/data-explorer'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/data-explorer'>Data Explorer<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/smart-collection-sync'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/smart-collection-sync'>Smart Collection Sync<\/a><\/div><\/div>\n<div class='sel Y' onmouseover=\"this.style.borderColor=document.getElementById('post_guts').style.borderColor=document.getElementById('navtab-holder').style.borderColor=document.getElementById('navtab-top').style.borderColor=document.getElementById('navtab-bottom').style.borderColor= 'red'; this.style.backgroundColor = document.getElementById('post_guts').style.backgroundColor = '#333'\" onmouseout =\"this.style.borderColor=document.getElementById('post_guts').style.borderColor=document.getElementById('navtab-holder').style.borderColor=document.getElementById('navtab-top').style.borderColor=document.getElementById('navtab-bottom').style.borderColor= '#888888'; this.style.backgroundColor = document.getElementById('post_guts').style.backgroundColor = '#181818';\"><div>People Support <div id='arrow'><img noindex='1' class='raw'  src='\/i\/s\/red-arrow-right.png' width='48' height='25'\/><\/div><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/folder-status'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/folder-status'>Folder Status<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/photosafe'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><div class='logo'><a href='\/blog\/lightroom-goodies\/photosafe'><img noindex='1' width='18' height='19' style='margin-left: 6px' class='raw' src='\/i\/lr\/sm\/photosafe-small.png'\/><\/a><\/div> <a href='\/blog\/lightroom-goodies\/photosafe'>PhotoSafe<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/collection-mechanic'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/collection-mechanic'>Collection Mechanic<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/bag-o-goodies'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/bag-o-goodies'>Bag-o-Goodies<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/timelapse-support'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/timelapse-support'>Timelapse Support<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/workflow-delete-options'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><div class='logo'><a href='\/blog\/lightroom-goodies\/workflow-delete-options'><img noindex='1' width='15' height='19' style='margin-left: 6px' class='raw' src='\/i\/lr\/sm\/workflow-delete-options-small.png'\/><\/a><\/div> <a href='\/blog\/lightroom-goodies\/workflow-delete-options'>Workflow Delete Options<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/metadata-viewer'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/metadata-viewer'>Metadata Viewer<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/bulk-develop'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/bulk-develop'>Bulk Develop Settings<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/metadata-presets'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/metadata-presets'>Metadata-Viewer Preset Builder<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/layers'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/layers'>Photoshop Layers<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/export-quality-tester'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/export-quality-tester'>JPEG Quality Tester<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/folder-watch'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/folder-watch'>Folder Watch<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/megapixel-sort'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/megapixel-sort'>Megapixel Sort<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/focal-length-sort'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/focal-length-sort'>Focal-length Sort<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/data-plot'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/data-plot'>Data Plot<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/extended-search'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/extended-search'>Extended Search<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/video-assets'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/video-assets'>Video-Asset Management<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/preview-extraction'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/preview-extraction'>Preview-Cache Image Extraction<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/sysinfo'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/sysinfo'>System Info<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/iphoto-collection-fixer'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/iphoto-collection-fixer'>iPhoto Collection Fixer<\/a><\/div><\/div>\n<\/div>\n<div style='margin-top:20px; margin-left:15px; margin-bottom:10px'>\n<b>Other Plugin Sources:<\/b>\n<br\/>&nbsp;&middot;&nbsp;<a href='http:\/\/www.photographers-toolbox.com\/products\/'>Photographer's Toolbox<\/a>\n<br\/>&nbsp;&middot;&nbsp;<a href='http:\/\/alloyphoto.com\/plugins\/'>alloy photo<\/a>\n<br\/>&nbsp;&middot;&nbsp;<a href='http:\/\/www.beardsworth.co.uk\/lightroom\/'>John Beardsworth<\/a>\n<br\/>&nbsp;&middot;&nbsp;<a href='http:\/\/www.capturemonkey.com\/'>Capture Monkey<\/a>\n<br\/>&nbsp;&middot;&nbsp;<a href='http:\/\/www.lightroom-plugins.com\/'>lightroom-plugins.com<\/a>\n<br\/>&nbsp;&middot;&nbsp;<a href='https:\/\/creative.adobe.com\/addons?pp=PSLR'>Adobe Addons<\/a>\n\n<\/div>\n\n<div class='navtab-topbottom' id='navtab-bottom'><\/div>\n<\/div>\n\n<div itemscope itemtype='http:\/\/schema.org\/SoftwareApplication'>\n<meta itemprop='creator' content='Jeffrey Friedl'\/>\n<meta itemprop='copyrightHolder' content='Jeffrey Friedl'\/>\n<meta itemprop='applicationCategory' content='Photography'\/>\n<meta itemprop='applicationSubCategory' content='Plugin for Adobe Photoshop Lightroom'\/>\n<meta itemprop='applicationSuite' content='Adobe Creative Cloud'\/>\n<meta itemprop='operatingSystem' content='Apple Mac OS X, Microsoft Windows'\/>\n<meta itemprop='about' content=\"People Support\"\/>\n\n\n<div class='ic'><a href='\/blog\/2005-04-01\/2'><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/lr\/people-support1.jpg\" width=\"690\" height=\"312\"\nclass=\"raw\"\nid=\"ipeople_support1\"\/><\/a><\/div>\n\n\n<div style='float:right; position:relative; border: solid 1px #444; margin: 0 auto; margin-left:2em; padding:20px; padding-top:5px; background-color: #000'>\n<center style='font-weight:bold; font-size:120%'>Quick Links<\/center>\n     &middot; <b>Latest Download<\/b>:\n<br\/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class='quiet' href='https:\/\/regex.info\/LightroomPlugins2\/releases\/people-support-20220227.44.zip'><span style='padding:1px 3px; border:solid 1px orange; color:#888'>people-support-<span style='color:orange; font-weight:bold'>20220227.44<\/span>.zip<\/span><\/a>\n<br\/>&middot; <a class='quiet' href='https:\/\/regex.info\/blog\/lightroom-goodies\/faq'>FAQ<\/a>\n<br\/>&middot; <a class='quiet' href='#history'>Version History<\/a>\n<br\/>&middot; <a class='quiet' href='https:\/\/regex.info\/LightroomPlugins2\/feeds\/people-support.rss'>Update Log via RSS <img class='raw' src='https:\/\/regex.info\/i\/s\/feed-icon-14x14.png' width='14' height='14' style='position:relative;top:3px'\/><\/a>\n<br\/>&middot; <a class='quiet' href='https:\/\/regex.info\/blog\/lightroom-goodies\/plugin-installation\/'>Installation instructions<\/a>\n<br\/>&middot; <a class='quiet' href='https:\/\/regex.info\/blog\/lightroom-goodies\/register'>&#8220;Donationware&#8221; Registration Info<\/a>\n<br\/>&middot; <a class='quiet' href='https:\/\/regex.info\/blog\/lightroom-goodies\/' style='color:#F55'>More Lightroom Goodies<\/a>\n<br\/>&middot; <a class='quiet' href='https:\/\/regex.info\/LightroomPlugins2\/feeds\/all.rss'>All-Plugin Update Log via RSS <img class='raw' src='https:\/\/regex.info\/i\/s\/feed-icon-14x14.png' width='14' height='14' style='position:relative;top:3px'\/><\/a>\n<br\/>&middot; <a class='quiet' href='https:\/\/regex.info\/blog\/photo-tech\/'>My Photo-Tech Posts<\/a>\n<br\/>&middot; <a class='quiet' href='https:\/\/regex.info\/blog'>My Blog<\/a>\n<\/div>\n\n\n<p>This plugin for Adobe Lightroom Classic adds features related to people in your photos, and their ages, such as\nknowing the ages of people in <span class='nobr'>a photo<\/span> at the time it was taken.<\/p>\n\n<p>This plugin works in Lightroom Classic, and older versions as far back as\n<span class='nobr'>Lightroom 4<\/span> (though some features depend on the\nversion of Lightroom).<\/p>\n\n\n<p>In Lightroom CC\/6 and later, additional support is built in for Lightroom's Facial-recognition feature.<\/p>\n\n<p>The same download works for both Windows and Mac. <span class='nobr'>See the box<\/span> to the upper right for the download link (in orange) and installation instructions.<\/p>\n\n\n<p style='margin-bottom:10px' class='h'>Table of Contents<\/p>\n&nbsp;&nbsp;&nbsp;<a href='#setup'>Setup<\/a>\n<br\/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<small><a href='#assign_keywords'>Create and Assign Keywords for Each Person<\/a><\/small>\n<br\/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<small><a href='#associate_data'>Associate <span class='nobr'>a Birthday<\/span> and other data with Each Person Keyword<\/a><\/small>\n<br\/>&nbsp;&nbsp;&nbsp;<a href='#filtering'>Filtering The List of People<\/a>\n<br\/>&nbsp;&nbsp;&nbsp;<a href='#viewing_ages'>Usage: Viewing Ages<\/a>\n<br\/>&nbsp;&nbsp;&nbsp;<a href='#token'>Accessing People and Their Ages Elsewhere<\/a>\n<br\/>&nbsp;&nbsp;&nbsp;<a href='#availability'>Availability<\/a>\n<br\/>&nbsp;&nbsp;&nbsp;<a href='#history'>Version History<\/a>\n\n<p id='setup' class='h'>Setup<\/p>\n\n<p>The plugin involves two phases of setup:<\/p>\n\n<p><b>1.<\/b> Create <span class='nobr'>a Keyword<\/span> for each person, and assign it as appropriate to each photo the person is in.\n<br\/><b>2.<\/b> Use the plugin to associate extra data, such as <span class='nobr'>a birthday<\/span> with each keyword.<\/p>\n\n<p id='assign_keywords' class='h2'>1) Create and Assign Keywords for Each Person<\/p>\n\n<p>This is most easily done in Lightroom CC\/6 with its Facial Recognition\nfeature, though you can do it by hand as well.<\/p>\n\n<p>How you organize your People keywords is up to you, and like most aspects of Lightroom workflow, it's <span class='nobr'>a personal<\/span> decision.\nIf you've not thought about it yet, here are two organizational examples for consideration:<\/p>\n\n<table align='center'>\n<tr>\n  <td align='center'><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/lr\/people-support-kw1.png\" width=\"270\" height=\"305\"\nclass=\"raw\"\nid=\"ipeople_support_kw1\"\/><br\/>example 1<\/td>\n  <td width='40'><\/td>\n  <td align='center'><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/lr\/people-support-kw2.png\" width=\"270\" height=\"305\"\nclass=\"raw\"\nid=\"ipeople_support_kw2\"\/><br\/>example 2<\/td>\n<\/tr><\/table>\n\n<p>You can create keywords via Facial Recognition, or manually via the\n<span class='QO'>&#8220;<\/span><b style='font-size:130%'>+<\/b><span\nclass='QC'>&#8221;<\/span> icon highlighted in red above.<\/p>\n\n<p>In both examples the people-related keywords have been organized under\n<span class='nobr'>a master<\/span> parent keyword; <span class='nobr'>I find<\/span> it convenient to\nkeep them segregated that way. <span class='nobr'>In the right<\/span>-side\nexample, the parent keyword is named with <span class='nobr'>a leading<\/span> hyphen\n(<span class='QO'>&#8220;<\/span><b>-PEOPLE-<\/b><span class='QC'>&#8221;<\/span>) so that Lightroom will sort it to the top of the list,\nwhich <span class='nobr'>I find<\/span> helpful.<\/p>\n\n<p>If you'd find it convenient to have family names sorted together, you'll\nwant the family name to appear first in the keyword. Unfortunately,\nkeywords may not contain commas, so <span class='nobr'>a keyword<\/span>\nlike <span class='QO'>&#8220;<\/span>Friedl, Jeffrey<span\nclass='QC'>&#8221;<\/span> is not possible. <span class='nobr'>In the\nright<\/span>-side example above <span class='nobr'>I went<\/span> with <span\nclass='nobr'>a format<\/span> like <span\nclass='QO'>&#8220;<\/span>Friedl\/Jeffrey<span class='QC'>&#8221;<\/span>, but\ndepending on taste you might prefer <span class='nobr'>a format<\/span>\nalong the lines of <span class='QO'>&#8220;<\/span>FRIEDL Jeffrey<span\nclass='QC'>&#8221;<\/span> or perhaps <span class='QO'>&#8220;<\/span>Friedl\n- Jeffrey<span class='QC'>&#8221;<\/span>.<\/p>\n\n<p>Personally, I use the style shown in the right-side example.<\/p>\n\n<p>Note that you can always edit your keywords to change the presentation\nof names later, and\/or how they're organized; it's not something set in stone the\nfirst time you do it.<\/p>\n\n<p id='associate_data' class='h2'>2) Associate <span class='nobr'>a Birthday<\/span> (and other data) with Each Person Keyword<\/p>\n\n<p>Invoke the plugin's people-management dialog via<\/p>\n\n<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class='QO'>&#8220;<\/span>File &gt; Plugin Extras &gt; Open People-Support Dialog<span class='QC'>&#8221;<\/span><\/div>\n\n<p>to get a dialog like this:<\/p>\n\n<div class='ic tight'><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/lr\/people-support-kwdialog1.png\" width=\"550\" height=\"410\"\nclass=\"raw\"\nid=\"ipeople_support_kwdialog1\"\/><\/div>\n\n<p>If a birthday has been associated with <span class='nobr'>a keyword,<\/span> the current age (or <span class='nobr'>a bullet<\/span> point; more on that later) is shown next to the name.<\/p>\n\n<p>Because I've organized all my people keywords under <span class='nobr'>a master<\/span> base keyword, I'll go ahead and select that\n(see highlighted button above) to omit the clutter of non-people keywords from this dialog&hellip;<\/p>\n\n<div class='ic tight'><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/lr\/people-support-kwdialog2.png\" width=\"550\" height=\"269\"\nclass=\"raw\"\nid=\"ipeople_support_kwdialog2\"\/><\/div>\n\n<p>In Lightroom CC\/6 and later, the little asterisk highlighted in red\nabove appears. Clicking on it reports on any <span class='QO'>&#8220;<\/span>People<span class='QC'>&#8221;<\/span> keywords lying\noutside the chosen Parent. <span class='nobr'>It's probably<\/span> <span class='nobr'>a good<\/span> idea to check this every so often, in case <span class='nobr'>a\nstray<\/span> Person keyword had gotten created elsewhere.<\/p>\n\n<p id='person_data'>Click on <span class='nobr'>a keyword<\/span> to bring up the ability to add <span class='nobr'>a\nbirthday<\/span> and other data. Here's my entry for Anthony's <a href='\/blog\/2008-04-27\/803'>great\ngrandmother<\/a>, who passed away some years back:<\/p>\n\n<div class='ic tight'><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/lr\/people-support-kwdialog3.png\" width=\"600\" height=\"332\"\nclass=\"raw\"\nid=\"ipeople_support_kwdialog3\"\/><\/div>\n\n<p>(Update Oct 2018: the dialog now includes a <span class='QO'>&#8220;<\/span>Nickname<span class='QC'>&#8221;<\/span> field, which can be referenced in the <span class=\"token\">{People}<\/span>\ntoken via the <a href='#nicknames'><span class='QO'>&#8220;<\/span>nicknames<span class='QC'>&#8221;<\/span> modifier<\/a>).<\/p>\n\n<p>Because she's passed away, I've chosen to enabled the <span class='QO'>&#8220;<\/span>don't display current age<span\nclass='QC'>&#8221;<\/span> option, which is why she has <span class='nobr'>a dot<\/span> beside her name in the list instead of her\ncurrent age beside her name.<\/p>\n\n<p>The notes section allows you to keep track of things like family relationships, other names the person\nmight have used, etc.<\/p>\n\n<p>(I don't intend to have the plugin try to keep relationship data itself, because that can\n<a href='https:\/\/www.youtube.com\/watch?v=eYlJH81dSiw'>be <span class='nobr'>a can<\/span> of worms<\/a>.)<\/p>\n\n<p id='filtering' class='h'>Filtering The List of People<\/p>\n\n<p>If you have many Person keywords, the filter box above the list can help track down specific keywords quickly.<\/p>\n\n<p>For example, to bring up a specific name so that you can edit the person's data, just type the name into the filter\nfield and their data will pop right up.<\/p>\n\n<p>The keyword name and any personal notes you've added are subject to the search term you type. In addition,\nthe following special terms are recognized:<\/p>\n\n<style type=\"text\/css\">\n  table#terms td:first-child { font-weight: bold; text-align:center ; border-right: solid 1px #333 }\n  table#terms td { border-bottom: solid 1px #333 }\n<\/style>\n<table id='terms' style='margin-left:3em' border='0' cellpadding='5' cellspacing='0'>\n<tr valign='baseline'>\n  <td>+bd<\/td>\n  <td>Limit the list to keywords with birthdays associated with them.<\/td>\n<\/tr>\n<tr valign='baseline'>\n  <td>-bd<\/td>\n  <td>Limit the list to keywords without an associated birthday.<\/td>\n<\/tr>\n<tr valign='baseline'>\n  <td>!<\/td>\n  <td>Limit the list to keywords applied to the currently-selected images.<\/td>\n<\/tr>\n\n<\/table>\n\n<p id='viewing_ages' class='h'>Usage: Viewing Ages<\/p>\n\n<p>If you have a photo (or photos) selected that include People keywords, invoke<\/p>\n\n<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class='QO'>&#8220;<\/span>File &gt; Plugin Extras &gt; View Ages for Photo<span class='QC'>&#8221;<\/span><\/div>\n\n<p>(which personally I've mapped to <span class='QO'>&#8220;<\/span>shift-option-command-P<span class='QC'>&#8221;<\/span> on my system)\nand you'll get <span class='nobr'>a report<\/span> like this:<\/p>\n\n<div class='ic tight'><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/lr\/people-support-viewage1.jpg\" width=\"600\" height=\"506\"\nclass=\"raw\"\nid=\"ipeople_support_viewage1\"\/><\/div>\n\n<p>Within each photo, people are listed from youngest to oldest.<\/p>\n\n<hr style='margin-top:50px' width='25%' align='left'\/>\n\n<p>When first preparing this documentation, <span class='nobr'>I thought<\/span> it might be less distracting to not use my own family data,\nso <span class='nobr'>I planned<\/span> to use Elvis's family. <span class='nobr'>I gave up<\/span> on the idea mostly because\n<span class='nobr'>I could<\/span> find only one copyright-free photo of Elvis to use in my examples. That ended up taking me on <span class='nobr'>a slight<\/span> tangent, and, well,\nsince <span class='nobr'>I got<\/span> this far <span class='nobr'>I may<\/span> as well share the screenshot I'd made:<\/p>\n\n<div class='ic'><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/lr\/people-support-viewage2.jpg\" width=\"600\" height=\"456\"\nclass=\"raw\"\nid=\"ipeople_support_viewage2\"\/><\/div>\n\n\n<p class='h' id='token'>Accessing People and Their Ages Elsewhere<\/p>\n\n<style type=\"text\/css\">\np.h2 { font-weight: bold; margin-top: 40px }\nspan.backslash { color: white; padding-left: 3px; padding-right: 3px }\n.token { font-family: courier; color: #CC0; white-space:nowrap }\ndiv.token { margin-left: 2em }\n.result  { margin-left: 2em; font-family: italic; white-space:nowrap }\n.example { margin-left: 2em; font-family: courier; white-space:nowrap }\n.result  .QO { color: #444 }\n.result  .QC { color: #444 }\n.example .QO { color: #444 }\n.example .QC { color: #444 }\n.code .QO { color: #444 }\n.code .QC { color: #444 }\n  table.codes td:first-child { font-family: courier; font-weight:bold; padding-right: 1em; color: #F44 }\n  table.codes tr { vertical-align: baseline }\n #modifiers .code { font-family: courier;  white-space:nowrap; color: #CC0 }\n #modifiers .text { color: #88C }\n span.selector { background-color: #243; padding-left:5px; padding-right:10px }\n span.selector .format   { color: red }\n .format   { color: #F44; font-family: courier }\n span.modifier { background-color: #542; padding-left:5px; padding-right:10px }\n<\/style>\n\n\n<p>Names and ages of folks tagged in photos can be accessed via the special\n<span class='token'>{People}<\/span>\n<a href='\/blog\/lightroom-goodies\/template'>template token<\/a> that many of my plugins support,\nsuch as for image titles and captions upon export, or in Twitter-tweet text.<\/p>\n\n<p>Using the photo at the top of this page as an example, <span class='nobr'>a bare<\/span> <span class='QO'>&#8220;<\/span><span\nclass='token'>{People}<\/span><span class='QC'>&#8221;<\/span> token by itself turns into text along the\nlines of:<\/p>\n\n\n<div class='result robots-nocontent'><span class='QO'>&#8220;<\/span>Anthony Friedl (3 days old) and Jeffrey Friedl (36.5 years old)<span class='QC'>&#8221;<\/span><\/div>\n\n<p>So you might enter something like the following for <span class='nobr'>a Caption<\/span> template in one of my export plugins:<\/p>\n\n<div class='example robots-nocontent'><span class='QO'>&#8220;<\/span>People in this photo: {People}<span class='QC'>&#8221;<\/span><\/div>\n\n<p>To see this result:<\/p>\n\n<div class='result robots-nocontent'><span class='QO'>&#8220;<\/span>People in this photo: Anthony Friedl (3 days old) and Jeffrey Friedl (36.5 years old)<span class='QC'>&#8221;<\/span><\/div>\n\n<p>One problem with this approach is if there are no people in the photo\n(that is, if the photo has no keywords associated with it that this plugin\nhas <span class='nobr'>a birthday<\/span> associated with), that last example would end up becoming:<\/p>\n\n<div class='result'><span class='QO'>&#8220;<\/span>People in this photo: <span class='QC'>&#8221;<\/span><\/div>\n\n<p>which is not very good.<\/p>\n\n<p>This problem is <a href='#solved'>easily solved<\/a> if we dive into the various options for\nthe <span class='token'>{People}<\/span> token. <span class='nobr'>It's an extremely<\/span> powerful\ntoken but with that power comes what might be <span class='nobr'>a bit<\/span> confusing at first.<\/p>\n\n<p class='h2'>Token Options<\/p>\n\n<p>Using options to the <span class='token'>{People}<\/span> token, you can have\nonly certain people shown, display or not display their names and\/or ages, update the order that people are shown, and more.<\/p>\n\n\n\n\n<p class='h2'>Choosing People with <span class='QO'>&#8220;<\/span>People Selectors<span class='QC'>&#8221;<\/span><\/p>\n\n<p>If you want to include only specific people, you can list them separated\nby commas in the token, like in this example that lists two people:<\/p>\n\n<div class='token robots-nocontent'>{People=<span class='selector'>Anthony Friedl<\/span>, <span class='selector'>Fumie Friedl<\/span>}<\/div>\n\n<p>If this were applied to the sample photo of me and Anthony, <span\nclass='nobr'>I would<\/span> be excluded from the result because I'm not in\nthe list. (My wife Fumie wouldn't be suddenly added to the output, of\ncourse, because she's not tagged in the photo to begin with.)<\/p>\n\n<p>Explicitly listing names is one way to <span class='selector'>select people<\/span> for inclusion.\n(In this documentation, <span class='QO'>&#8220;<\/span>selectors<span class='QC'>&#8221;<\/span> are shown <span class='selector'>like this<\/span> to help keep things clear.)<\/p>\n\n<p>If you don't select anyone, then everyone is included, but if you select\nanyone, only those people you select are included.<\/p>\n\n<p>You can use wildcard patterns (similar to <span class='QO'>&#8220;<\/span>*.txt<span class='QC'>&#8221;<\/span> filename\npatterns) in addition to explicitly listing names.\nThe selector <span class='QO'>&#8220;<\/span><span class='selector'>*<\/span><span class='QC'>&#8221;<\/span> matches every name, so\n<span class='token'>{People=<span class='selector'>*<\/span>}<\/span> is the same as\n<span class='token'>{People}<\/span>.<\/p>\n\n<p class='robots-nocontent'><span class='nobr'>If I want<\/span> to include only people with the last name <span class='QO'>&#8220;<\/span>Friedl<span class='QC'>&#8221;<\/span> or <span class='QO'>&#8220;<\/span>Matsunaka<span class='QC'>&#8221;<\/span>, I'd use:<\/p>\n\n<div class='token robots-nocontent'>{People=<span class='selector'>* Friedl<\/span>,<span class='selector'>* Matsunaka<\/span>}<\/div>\n\n<p>You can also select people based upon their age. <span class='nobr'>The reason<\/span> for this\nwill be apparent soon, but first an example. <span class='nobr'>To include<\/span> only people less\nthan 20 years old:<\/p>\n\n<div class='token'>{People=<span class='selector'>&lt; 20<\/span>}<\/div>\n\n<p>or, to include people less than 20 years old <i>and<\/i> folks 80 years old or older:<\/p>\n\n<div class='token'>{People=<span class='selector'>&lt; 20<\/span>, <span class='selector'>&gt;= 80<\/span>}<\/div>\n\n<p>The comparison is on their age in years as we normally think it&hellip;\nsomeone is <span class='QO'>&#8220;<\/span>20<span class='QC'>&#8221;<\/span>\non the day they turn twenty years old, and remains <span\nclass='QO'>&#8220;<\/span>20<span class='QC'>&#8221;<\/span> for <span\nclass='nobr'>a full<\/span> year. <span class='nobr'>So a selector<\/span>\nlike <span class='selector'>&gt; 20<\/span> gets people 21 and over, while\n<span class='selector'>&gt;= 20<\/span> gets folks 20 and over.<\/p>\n\n<p>This age-based selection is powerful because the plugin also allows you\nto specify with each selector whether <span class='nobr'>a selected<\/span> person' age is shown, and\nif so, how.<\/p>\n\n\n<p class='h2'>What To Show For Each Person<\/p>\n\n<p>The default presentation for a person is to show their name followed by\ntheir age in <span class='nobr'>a reasonably<\/span>-human way (older people just get the age in\nyears, but babies get it in days and\/or months). <span class='nobr'>But you can<\/span> change this on\n<span class='nobr'>a per<\/span>-person or per-class basis by following the <span class='QO'>&#8220;<\/span>people selector<span class='QC'>&#8221;<\/span> with <span class='nobr'>a\nbackslash<\/span> and then <span class='nobr'>a people<\/span>-info <span class='QO'>&#8220;<\/span>format<span class='QC'>&#8221;<\/span>.<\/p>\n\n<p>For example, to display just the name (and no age) for everyone, use <span class='QO'>&#8220;<\/span><span class='selector'>*<\/span><span class='QC'>&#8221;<\/span> as the selector to match every name, and use <span class='QO'>&#8220;<\/span><span class='format'>%N<\/span><span class='QC'>&#8221;<\/span> &mdash; that's the code for <span class='QO'>&#8220;<\/span>just the name<span class='QC'>&#8221;<\/span> &mdash; as the format:<\/p>\n\n<div class='token'>{People= <span class='selector'>*<span class='backslash'>\\<\/span><span class='format'>%N<\/span><\/span>}<\/div>\n\n<p>As you can see, the format follows its selector, separated by <span class='nobr'>a backslash.<\/span><\/p>\n\n<p>With the photo of me and my son at the top of this page, <span class='nobr'>a template<\/span> of<\/p>\n\n<div class='example'><span class='QO'>&#8220;<\/span>People in this photo: {People=<span class='selector'>*<span class='backslash'>\\<\/span><span class='format'>%N<\/span><\/span>}<span class='QC'>&#8221;<\/span><\/div>\n\n<p>produces:<\/p>\n\n<div class='result robots-nocontent'><span class='QO'>&#8220;<\/span>People in this photo: Anthony Friedl and Jeffrey Friedl<span class='QC'>&#8221;<\/span><\/div>\n\n<p>The default format code to show the full name and age is <span class='QO'>&#8220;<\/span><span class='format'>%F<\/span><span\nclass='QC'>&#8221;<\/span>, so that means <span class='token'>{People}<\/span> is the same as <span class='token'>{People=<span\nclass='selector'>*<span class='backslash'>\\<\/span><span class='format'>%F<\/span><\/span>}<\/span>.<\/p>\n\n<p>If you want to include the name and age for kids 10 and under and folks over 90, but include just the name for anyone else, use this:<\/p>\n\n\n<div class='token'>{People=<span class='selector'>&lt;= 10<span class='backslash'>\\<\/span><span class='format'>%F<\/span><\/span>,<span class='\nselector'>&gt;90<span class='backslash'>\\<\/span><span class='format'>%F<\/span><\/span>,<span class='selector'>*<span class='backslash'>\\<\/span><span class='format'>%N<\/span><\/span>}<span class='QC'>&#8221;<\/span><\/div>\n\n<p>It's that trailing <span class='QO'>&#8220;<\/span><span class='selector'>*<span class='backslash'>\\<\/span><span class='format'>%N<\/span><\/span><span class='QC'>&#8221;<\/span> that includes the name for anyone not selected by the other two rules. <span class='nobr'>If it were<\/span> omitted, folks between 10 and 90 wouldn't be included in the result (which would be fine if that's what you want).<\/p>\n\n<p class='h2'>People-Info Format Codes<\/p>\n\n<p>The format given after the backslash can be more than just <span class='QO'>&#8220;<\/span><span class='format'>%F<\/span><span class='QC'>&#8221;<\/span> or <span class='QO'>&#8220;<\/span><span class='format'>%N<\/span><span class='QC'>&#8221;<\/span>,\nthough those are the most useful. <span class='nobr'>You can actually<\/span> include most any text, with the following codes\nrecognized therein:<\/p>\n\n<table class='codes' style='margin-left:2em'>\n<tr><td>%N<\/td><td>The name of the person (the keyword text itself)<\/td><\/tr>\n\n<tr><td>%S<\/td><td><span class='QO'>&#8220;<\/span>Smart age<span class='QC'>&#8221;<\/span> &mdash; the age presented in <span class='nobr'>a human<\/span> way&hellip; like <span class='QO'>&#8220;<\/span>22.3 years old<span class='QC'>&#8221;<\/span> for those older than two years old, and months and\/or days for those younger.<\/td><\/tr>\n\n<tr><td>%s<\/td><td><span class='QO'>&#8220;<\/span>Simple smart age<span class='QC'>&#8221;<\/span> &mdash; the age presented in <span class='nobr'>a more<\/span> simple human way&hellip; like <span class='QO'>&#8220;<\/span>22<span class='QC'>&#8221;<\/span>, <span class='QO'>&#8220;<\/span>4<span class='QC'>&#8221;<\/span>, <span class='QO'>&#8220;<\/span>18 months<span class='QC'>&#8221;<\/span>, <span class='QO'>&#8220;<\/span>3 weeks<span class='QC'>&#8221;<\/span>, &hellip;<\/td><\/tr>\n\n<tr><td>%F<\/td><td><span class='QO'>&#8220;<\/span>Full info<span class='QC'>&#8221;<\/span>, the same as <span class='QO'>&#8220;<\/span><span class='format'><code>%N (%S)<\/code><\/span><span class='QC'>&#8221;<\/span>, which is the name and the <span class='QO'>&#8220;<\/span>smart age<span class='QC'>&#8221;<\/span>.  (This is the default format if none given.)<\/td><\/tr>\n\n<tr><td>%f<\/td><td><span class='QO'>&#8220;<\/span>Simple full info<span class='QC'>&#8221;<\/span>, the same as <span class='QO'>&#8220;<\/span><span class='format'><code>%N (%s)<\/code><\/span><span class='QC'>&#8221;<\/span>, which is the name and the <span class='QO'>&#8220;<\/span>simple smart age<span class='QC'>&#8221;<\/span>.<\/td><\/tr>\n\n<tr><td>%Y<\/td><td>The age of the person in years as an integer. (The day before their 15th birthday, <span class='format'><code>%Y<\/code><\/span> is still <span class='QO'>&#8220;<\/span>14<span class='QC'>&#8221;<\/span>.)<\/td><\/tr>\n<tr><td>%M<\/td><td>The month component of the person's age, as an integer. (Two months after any birthday, <span class='format'><code>%M<\/code><\/span> is <span class='QO'>&#8220;<\/span>2<span class='QC'>&#8221;<\/span>.)<\/td><\/tr>\n<tr><td>%D<\/td><td>The day component of <span class='nobr'>a person's<\/span> age, as an integer. (If someone is 17 years 3 months 22 days old, then <span class='format'><code>%D<\/code><\/span> is <span class='QO'>&#8220;<\/span>22<span class='QC'>&#8221;<\/span>.)<\/td><\/tr>\n<tr><td>%1Y<\/td><td>The age of the person in years, to one decimal point (47&frac12; becomes <span\nclass='QO'>&#8220;<\/span>47.5<span class='QC'>&#8221;<\/span>). Normal rounding rules don't quite apply: the day before the 32nd\nbirthday would normally round to <span class='QO'>&#8220;<\/span>32.0<span class='QC'>&#8221;<\/span>, but sorry, it's not your\nbirthday quite yet, so <span class='format'><code>%1Y<\/code><\/span> remains <span class='QO'>&#8220;<\/span>31.9<span\nclass='QC'>&#8221;<\/span>.<\/td><\/tr>\n<tr><td>%2Y<\/td><td>Like <span class='format'><code>%1Y<\/code><\/span> but to two decimal places.<\/td><\/tr>\n\n<tr><td>%%<\/td><td><span class='nobr'>A percent<\/span> symbol.<\/td><\/tr>\n<\/table>\n\n<p>So, the token<\/p>\n\n<div class='token'>{People<span style='color:white'>=<\/span>\n\n<span class='selector'>&gt;70<span class='backslash'>\\<\/span><span class='format'>%N at the ripe old age of %Y<\/span><\/span><span style='color:white'>,\n<\/span><span class='selector'>&lt;5<span class='backslash'>\\<\/span><span class='format'>%N at the tender age of %S<\/span><\/span><span style='color:white'>,\n<\/span><span class='selector'>*<span class='backslash'>\\<\/span><span class='format'>%N<\/span><\/span>}<\/div>\n\n<p>includes three <span class='QO'>&#8220;<\/span>people selectors<span class='QC'>&#8221;<\/span>, each with their own format.<\/p>\n\n<p>Here's what would be produced if that token were used with this next four-generation photo:<\/p>\n\n<div class='ic robots-nocontent' style='width:500px'><a href='\/blog\/2008-04-27\/803#i7199'><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/2003-06-24_13_24_58__07199_sm.jpg\" width=\"500\" height=\"333\"\nid=\"i2003_06_24_13_24_58__07199\"\/><\/a>\n<br\/>\nAnthony Friedl at the tender age of 8 months one day old, Fumie Friedl, Eiko Matsunaka, and Kine Imai at the ripe old age of 79\n<\/div>\n\n<p>To change the format used for everyone, just apply it with a <span class='QO'>&#8220;<\/span><span class='selector'><code>*<\/code><\/span><span class='QC'>&#8221;<\/span> selector. <span class='nobr'>To apply<\/span> the format <span class='QO'>&#8220;<\/span><span class='format'><code>%N (%s)<\/code><\/span><span class='QC'>&#8221;<\/span> to everyone:<\/p>\n\n<div class='token'>{People<span style='color:white'>=<\/span><span class='selector'>*<span class='backslash'>\\<\/span><span class='format'>%N (%s)<\/span><\/span>}<\/div>\n\n<p>which with the previous photo produces:<\/p>\n\n<div class='example robots-nocontent'><span class='QO'>&#8220;<\/span>Friedl\/Anthony (8 months), Friedl\/Fumie (27), Matsunaka\/Eiko (51), and Imai\/Kine (79)<span class='QC'>&#8221;<\/span><\/div>\n\n<p>(The token <span class='token'>{People<span style='color:white'>=<\/span><span class='selector'>*<span class='backslash'>\\<\/span><span class='format'>%f<\/span><\/span>}<\/span> would produce the same result, because the code <span class='QO'>&#8220;<\/span><span class='format'><code>%f<\/code><\/span><span class='QC'>&#8221;<\/span> is <span class='nobr'>a shorthand<\/span>\nfor <span class='QO'>&#8220;<\/span><span class='format'><code>%N (%s)<\/code><\/span><span class='QC'>&#8221;<\/span>.)<\/p>\n\n\n<p class='h2'>The Age of People Before They're Born<\/p>\n\n<p>Formatting described above sort of breaks down when <span class='nobr'>a photo<\/span> is from\nbefore someone's birth, such as in an ultrasound scan. <span class='nobr'>If the data<\/span> of the\nphoto is prior to the registered birthday, the plugin will replace the\nformat with something that is hopefully appropriate.<\/p>\n\n<p class='h2'>Overall Modifiers, Etc.<\/p>\n\n<p>The <span class='token'>{People}<\/span> tag can accept various overall modifiers after the list of people selectors, separated\nby semicolons. For example, update the previous example so that folks are presented in an oldest-age-first order:<\/p>\n\n<div class='token'>{People<span style='color:white'>=<\/span><span class='selector'>*<span class='backslash'>\\<\/span><span class='format'>%N (%s<\/span>)<\/span><span style='color:white'>;<\/span><span class='modifier'>oldest first<\/span>}<\/div>\n\n<p>This would have the previous photo result in:<\/p>\n\n<div class='example robots-nocontent'><span class='QO'>&#8220;<\/span>Imai\/Kine (79), Matsunaka\/Eiko (51), Friedl\/Fumie (27), and Friedl\/Anthony (8 months)<span class='QC'>&#8221;<\/span><\/div>\n\n<p>Note that even if you don't have <span class='nobr'>a format,<\/span> you do need the <span class='QO'>&#8220;<\/span><span style='color:white'>=<\/span><span class='QC'>&#8221;<\/span> after <span class='QO'>&#8220;<\/span><span class='token'>People<\/span><span class='QC'>&#8221;<\/span>, so the previous example with the default format is:<\/p>\n\n<div class='token'>{People<span style='color:white'>=<\/span><span style='color:white'>;<\/span><span class='modifier'>oldest first<\/span>}<\/div>\n\n<p>(Note the ungainly <span class='QO'>&#8220;<\/span><span style='color:white'>=;<\/span><span class='QC'>&#8221;<\/span>)<\/p>\n\n\n<p>The following modifiers are available. <span class='nobr'>You can include<\/span> as many as you need, separated by semicolons:<\/p>\n\n<ul id='modifiers'>\n\n  <li id='nicknames'><p><span class='code'><span class='QO'>&#8220;<\/span><span class='modifier'>nicknames<\/span><span class='QC'>&#8221;<\/span><\/span>\n  <br\/>\n  For each person, use the registered nickname (if any) instead of the text from the keyword.\n  <\/p>\n  <\/li>\n\n\n  <li><p><span class='code'><span class='QO'>&#8220;<\/span><span class='modifier'>youngest first<\/span><span class='QC'>&#8221;<\/span><\/span>\n  <br\/>\n  Order people by age, youngest first. This is the default sort.\n  <\/p>\n  <\/li>\n\n  <li><p><span class='code'><span class='QO'>&#8220;<\/span><span class='modifier'>oldest first<\/span><span class='QC'>&#8221;<\/span><\/span>\n  <br\/>\n  Order people by age, oldest first.\n  <\/p>\n  <\/li>\n\n  <li><p><span class='code'><span class='QO'>&#8220;<\/span><span class='modifier'>sort by name<\/span><span class='QC'>&#8221;<\/span><\/span>\n  <br\/>\n  Put people in alphabetical order by name.\n  <\/p>\n  <\/li>\n\n\n  <li><p><span class='code'><span class='QO'>&#8220;<\/span><span class='modifier'>separate by &quot;<i class='text'>&hellip;<\/i>&quot;<\/span><span class='QC'>&#8221;<\/span><\/span>\n  <br\/>\n     Separate multiple names by the given text, instead of the default English-language list treatment.\n     For example, to have names separated by a comma and a space, use <span class='code'><span class='QO'>&#8220;<\/span><span class='modifier'>separate by\n &quot;,&nbsp;&quot;<\/span><span class='QC'>&#8221;<\/span><\/span>\n  <\/p>\n  <\/li>\n\n\n\n  <li><p><span class='code'><span class='QO'>&#8220;<\/span><span class='modifier'>if blank use &quot;<i class='text'>text&hellip;<\/i>&quot;<\/span><span class='QC'>&#8221;<\/span><\/span>\n  <br\/>\n  If it turns out that the photo has no people (or, at least none that are selected)\n  the <span class='token'>{People}<\/span> token should produce the given text instead of nothing.\n  Consider this template pattern for <span class='nobr'>a photo<\/span> caption:<\/p>\n<div class='example'><span class='QO'>&#8220;<\/span>People in this photo: <span class='token'>{People=;<span class='modifier'>if blank use &quot;<span class='text'>none<\/span>&quot;<\/span>}<\/span><span class='QC'>&#8221;<\/span><\/div>\n  <p>In this example, no people selectors are given (the semicolon for the modifier comes immediately after the equal sign), so\n  it remains at the default of <span class='QO'>&#8220;<\/span><span class='selector'><code>*<span class='backslash'>\\<\/span><span class='format'>%F<\/span><\/code><\/span><span class='QC'>&#8221;<\/span>.<\/p>\n  <\/li>\n\n\n\n  <li id='solved'><p><span class='code'><span class='QO'>&#8220;<\/span><span class='modifier'>prefix &quot;<i class='text'>text&hellip;<\/i>&quot;<\/span><span class='QC'>&#8221;<\/span><\/span>\n  <br\/>\n  If the photo does have people (that are selected), prefix the list of names\/ages with the given text. <span class='nobr'>If there<\/span> end up being no people selected, this modifier is ignored.<\/p>\n  <p>A better way to present the previous caption example would be:<\/p>\n<div class='example'><span class='QO'>&#8220;<\/span><span class='token'>{People<span style='color:white'>= ;<\/span><span class='modifier'>prefix &quot;<span class='text'>People in this photo:&nbsp;<\/span>&quot;<\/span>}<\/span><span class='QC'>&#8221;<\/span><\/div>\n  <p>If there are no people, nothing results, but if there are people, the list of names and ages is prefixed by <span class='QO'>&#8220;<\/span><i>People in this photo: <\/i><span class='QC'>&#8221;<\/span>.<\/p>\n  <\/li>\n\n\n\n\n  <li><p><span class='code'><span class='QO'>&#8220;<\/span><span class='modifier'>suffix &quot;<i class='text'>text&hellip;<\/i>&quot;<\/span><span class='QC'>&#8221;<\/span><\/span>\n  <br\/>\n  Like the prefix above, but the text is appended rather than prepended.<\/p>\n  <\/li>\n\n\n  <li><p><span class='code'><span class='QO'>&#8220;<\/span><span class='modifier'>swap around &quot;<i class='text'>character<\/i>&quot;<\/span><span class='QC'>&#8221;<\/span><\/span>\n  <br\/>\n  This special modifier changes how names are presented, and is intended to ameliorate the last-name-first hack of having your\n  name keywords like <span class='QO'>&#8220;<\/span>Friedl\/Jeffrey<span class='QC'>&#8221;<\/span> rather than <span class='QO'>&#8220;<\/span>Jeffrey Friedl<span class='QC'>&#8221;<\/span>:<\/p>\n\n<div class='example'><span class='QO'>&#8220;<\/span><span class='token'>{People<span style='color:white'>= ;<\/span><span class='modifier'>swap around &quot;<span class='text'>\/<\/span>&quot;<\/span>}<\/span><span class='QC'>&#8221;<\/span><\/div>\n\n  <p>This would leave names that don't have a <span class='QO'>&#8220;<\/span><code>\/<\/code><span class='QC'>&#8221;<\/span> character alone, but names like <span class='QO'>&#8220;<\/span><i>Friedl\/Jeffrey<\/i><span class='QC'>&#8221;<\/span> that do would\n  have what comes before the <span class='QO'>&#8220;<\/span><code>\/<\/code><span class='QC'>&#8221;<\/span> swapped with what comes after, replaced by <span class='nobr'>a space<\/span>: <span class='QO'>&#8220;<\/span><i>Jeffrey Friedl<\/i><span class='QC'>&#8221;<\/span><\/p>\n\n  <p>Note that if you use the <span class='QO'>&#8220;<\/span><span class='modifier'><code>sort by name<\/code><\/span><span class='QC'>&#8221;<\/span> modifier, the sorting happens before the swapping. That keeps the sort via family name.<\/p>\n  <\/li>\n\n  <li><p><span class='code'><span class='QO'>&#8220;<\/span>swap around &quot;<i class='text'>character<\/i>&quot; rejoin with &quot;<i class='text'>text..<\/i>&quot;<span class='QC'>&#8221;<\/span><\/span>\n  <br\/>\n  This is like the prior modifier, except you can specify what should be used to rejoin what has been swapped, instead of the\n  single space that the prior modifier uses. <span class='nobr'>I'm not quite<\/span> sure how this would be used, but <span class='nobr'>I include<\/span> it for completeness. <span class='nobr'>A silly<\/span> example might be:<\/p>\n\n<div class='example'><span class='QO'>&#8220;<\/span><span class='token'>{People<span style='color:white'>= ;<\/span><span class='modifier'>swap around &quot;<span class='text'>\/<\/span>&quot; rejoin with &quot;<span class='text'>&nbsp;of the family&nbsp;<\/span>&quot;<\/span>}<\/span><span class='QC'>&#8221;<\/span><\/div>\n  <p>which turns <span class='QO'>&#8220;<\/span><i>Friedl\/Jeffrey<\/i><span class='QC'>&#8221;<\/span> into <span class='QO'>&#8220;<\/span><i>Jeffrey of the family Friedl<\/i><span class='QC'>&#8221;<\/span>. <span class='nobr'>May be useful<\/span> for British royalty.<\/p>\n  <\/li>\n\n<\/ul>\n\n<p>Modifiers can be combined, as in this example:<\/p>\n\n\n<div class='example'><span class='QO'>&#8220;<\/span><span class='token'>{People<\/span><span style='color:white'>=<\/span>\n<span class='selector'   >&lt; 10 <span class='backslash'>\\<\/span><span class='format'>%f<\/span><\/span>,<span class='selector'   >*<span class='backslash'>\\<\/span><span class='format'>%N<\/span><\/span>\n<span style='color:white'>;<\/span><span class='modifier'   >prefix &quot;In this photo:&nbsp;&quot;<\/span><span style='color:white'>;<\/span><span class='modifier'   >swap around &quot;\/&quot;<\/span><span style='color:white'>;<\/span><span class='modifier'   >oldest first<\/span><span class='token'      >}<\/span><span class='QC'>&#8221;<\/span><\/div>\n\n\n\n<p id='availability' class='h'>Availability<\/p><p>This plugin is distributed as &#8220;donationware&#8221;. I have chosen to make it available for free &mdash; everyone can use\nit forever, without cost of any kind &mdash; but unless registered, its functionality is somewhat reduced after six weeks.<\/p>\n\n<p>Registration is done via PayPal, and if you choose to register, it costs the minimum 1-cent PayPal fee; any amount you'd like\nto add beyond PayPal's sliding fees as a gift to me is completely optional, and completely appreciated.<\/p>\n\n<p id='majorupgrade'><b>Note<\/b>: a Lightroom <i>major<\/i> upgrade, such as from Lr10 to Lr11 de-registers the plugin in the\nupgraded version, so if you want to maintain registration, a new ($0.01 if you like) registration code is needed in the upgraded\nversion. It makes for a hassle every couple of years, I know. Sorry. See <a\nhref='\/blog\/lightroom-goodies\/register#major-upgrade'>this note<\/a> for details.<\/p>\n\n<p>For details on plugin registration and on how I came into this hobby of Lightroom plugin development, see my <a\nhref='\/blog\/lightroom-goodies\/register'>Plugin Registration page<\/a>.<\/p>\n\n\n<br clear='all'\/>\n<style type=\"text\/css\">\n   table.h td:first-child   { font-weight: bold; padding-right:1em }\n   table.h td p:first-child { margin-top: 0 }\n   table.h td               { padding-bottom: 10px }\n   p.h                      { font-weight:bold; font-size:130%; margin-top:50px }\n   span.h                   { font-weight:bold; font-size:130%; margin-top:50px }\n   table.h pre              { font-size: 70% }\n<\/style>\n<p id='history' style='margin-top:50px'><span class='h'>Version History<\/span>\n<br\/>\n(\n<a style='font-size:small'\n   class='quiet'\n   href='https:\/\/regex.info\/LightroomPlugins2\/feeds\/people-support.rss'>Update Log via RSS\n   <img class='raw' src='https:\/\/regex.info\/i\/s\/feed-icon-14x14.png' width='14' height='14' style='position:relative;top:3px'\/><\/a>\n)<\/p>\n<table class='h'><tr valign='baseline'><td><a id='20220227.44' name='44'>20220227.44<\/a><\/td><td>\n<p>Better Lightroom DB access.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20220224.43' name='43'>20220224.43<\/a><\/td><td>\n<p>Work with MacOS gatekeeper to allow sqlite3 to be run.<\/p>\n               <p>Renamed &#8220;Sort By Face-Region Size&#8221; to &#8220;Advanced Face Search&#8221;<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20220217.42' name='42'>20220217.42<\/a><\/td><td>\n<p>Added the ability to match only images with (exactly\/more than\/less than) some specific number of faces.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20220124.41' name='41'>20220124.41<\/a><\/td><td>\n<p>Previous build broke the new features added in the build before that.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20220120.40' name='40'>20220120.40<\/a><\/td><td>\n<p>Some settings were getting reset between uses.<\/p>\n               <p>Whack-a-mole with PayPal's random changes.<\/p>\n               <p>Added the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#WEEKNUM'>WEEKNUM<\/a> token, along with DAYNUM, weeknum, and daynum.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20211231.39' name='39'>20211231.39<\/a><\/td><td>\n<p>Added the &#8220;Sort By Face-Region Size...&#8221; feature.<\/p>\n               <p>Added the &#8220;Find Photos with Duplicate Faces...&#8221; feature.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20211219.38' name='38'>20211219.38<\/a><\/td><td>\n<p>Warn when PayPal seems to have given a bogus code in the web-confirmation page.<\/p>\n               <p>Fixed that the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#Province'>Province<\/a> template token did not respect the plugin-specific geo-privacy settings.<\/p>\n\n               <p>Fixed an issue with the {Newline} token, and added {Comma}, {Hyphen}, and {Space} for good measure.<\/p>\n\n\t           <p>Fixed a problem with filters on the {Keyword} token.<\/p>\n\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20210415.37' name='37'>20210415.37<\/a><\/td><td>\n<p>Added 'separated by' to the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/people-support#token'>People<\/a> token.<\/p>\n\n               <p>Added the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#ImageViewDirection'>ImageViewDirection<\/a> and ImageViewBearing tokens.<\/p>\n\n               <p>Reworked the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#Newline'>Keywords<\/a> token to better accept filters.<\/p>\n\n               <p>working around 'constant table overflow' error<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20201103.36' name='36'>20201103.36<\/a><\/td><td>\n<p>Added the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#PF'>PF filter<\/a> to turn typographic fractions into plain-ASCII fractions.<\/p>\n\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20201017.35' name='35'>20201017.35<\/a><\/td><td>\n<p>Updates for Lr10<\/p>\n               <p>Added the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#SpeedKnots'>SpeedKnots<\/a> token.<\/p>\n               <p>Worked around an \"unknown key captureTime\" error.<\/p>\n               <p>Added the {PlusCode} and {GeoHash} <a href=\"https:\/\/regex.info\/blog\/lightroom-goodies\/template\">tokens<\/a>.<\/p>\n               <p>Work around a Windows bug related to canceling out of the registration dialog.<\/p>\n               <p>Some of the filename-related tokens could be incorrect in rare situations.<\/p>\n               <p>Added some extra debug logging to note whether the plugin is enabled.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20191011.34' name='34'>20191011.34<\/a><\/td><td>\n<p>Added the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#LensInfo'>LensInfo<\/a> template token.<\/p>\n\n               <p>Updated the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#Exposure'>Exposure<\/a> token to allow customization.<\/p>\n\n               <p>More <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>token<\/a> work: added {Urls}, and updated {ISO} and {Copyright} to allow customization.<\/p>\n\n               <p>Added the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#RelativeFolder'>{RelativeFolder}<\/a> token.<\/p>\n\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20190810.33' name='33'>20190810.33<\/a><\/td><td>\n<p>Fixed the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#SST1'>SST1<\/a> and SST2 tokens.<\/p>\n\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20190731.32' name='32'>20190731.32<\/a><\/td><td>\n<p>Updated the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#PublishCollectionName'>PublishCollectionName<\/a> token (and <tt>CollectionNames<\/tt> and <tt>CollectionFullNames<\/tt>) to remove the MIRROR: prefix from the name that mirrored collections within <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/collection-publisher'>my Collection Publisher plugin<\/a> automatically get.<\/p>\n\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20190708.31' name='31'>20190708.31<\/a><\/td><td>\n<p>Fixed a problem with the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#SpeedKPH'>SpeedKPH<\/a> token.<\/p>\n\n               <p>Added <b>TempC<\/b> and <b>TempF<\/b> to the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>template tokens<\/a> that my plugins understand.<\/p>\n\n               <p>Added the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#TempC'>TempC<\/a> and <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#TempF'>TempF<\/a> tokens.<\/p>\n\n               <p>Updated the keyword-related <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>tokens<\/a> to accept standard filters.<\/p>\n\n               <p>Work around a bug that sometimes causes plugins to be disabled when starting Lightroom via clicking on a catalog file.<\/p>\n\n               <p>Fix an \"Unknown key: captureTime\" crash.<\/p>\n\n               <p>Added the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#GPSCoords'>GPSCoords<\/a> token.<\/p>\n\n               <p>Fixed a problem related to template tokens and photos without capture times.<\/p>\n\n               <p>Added functions <tt>uc()<\/tt>, <tt>ucFirst()<\/tt>, <tt>lc()<\/tt>, and <tt>lcFirst()<\/tt> to the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#lua'>LUA<\/a> token.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20181106.30' name='30'>20181106.30<\/a><\/td><td>\n<p>Added the <tt>PEOPLE<\/tt> variable to the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#lua'><tt>LUA<\/tt> token<\/a>.<\/p>\n\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20181015.29' name='29'>20181015.29<\/a><\/td><td>\n<p>Updates for Lr8 (Lightroom Classic CC Version 8).<\/p>\n               <p>Added <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#PP'>the special <tt>PP()<\/tt> function<\/a> to the {LUA} token.<\/p>\n               <p>Try to work around a Lightroom bug related to photo timezones and how Lightroom handles accessing plugin data.<\/p>\n               <p>Added hierarchical options to <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#Keywords'>the <tt>Keywords<\/tt> token<\/a>.<\/p>\n\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20181004.28' name='28'>20181004.28<\/a><\/td><td>\n<p>Added the Nickname field to the per-person dialog, and added\n               the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/people-support#nicknames'>'nicknames' modifier<\/a> to the {People} token.<\/p>\n\n               <p>Added the SST1, SST2, and SS3 tokens to the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>template tokens<\/a> that\n               the plugin understands.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20180906.27' name='27'>20180906.27<\/a><\/td><td>\n<p>Clicking on the version number in the Plugin Manager now copies version info to the clipboard<\/p>\n\n                <p>Updated the <a\n                href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#PublishCollectionName'>PublishCollectionName<\/a>\n                token to allow numeric arguments along the lines of the\n                CollectionName token.<\/p>\n\n                <p>Added the folowing <a\n                href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>template\n                tokens<\/a>: <tt>{home}<\/tt>, <tt>{desktop}<\/tt>,\n                <tt>{temp}<\/tt>, <tt>{pictures}<\/tt>, <tt>{documents}<\/tt>,\n                <tt>IptcDateTaken<\/tt><\/p>\n\n                <p>Added the 'PCH' variable to <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#LUA'>the {LUA} tag<\/a>.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20180420.26' name='26'>20180420.26<\/a><\/td><td>\n<p>Fixed a bug when 'Token Examples' invoked in certain situations.<\/p>\n\n               <p>Updated <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#Keywords'>the Keywords token<\/a>, and added the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#KWf'>KWf function<\/a> to the {LUA} token.<\/p>\n\n               <p>Added the <tt>{NonSmartCollectionNames}<\/tt> and <tt>{NonSmartCollectionFullNames}<\/tt> tokens to <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>the data templates<\/a> that my plugins understand.<\/p>\n\n               <p>Added a bunch of <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#filters'>token filters<\/a>: F2D F2S F2X B2D B2S B2X S2X A2D A2S A2X<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20171019.25' name='25'>20171019.25<\/a><\/td><td>\n<p>Oops, more Lr7 stuff.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20171019.24' name='24'>20171019.24<\/a><\/td><td>\n<p>Updates for Lr7.<\/p>\n               <p>Better handle some character-encoding issues related to <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>template tokens<\/a>.<\/p>\n\n               <p>Allow the \"If Exists\" feature of <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>Templat Tokens<\/a> to work with the PluginProperty token.<\/p>\n\n               <p>Update registration support to handle a stupid bug at PayPal that PayPal refuses to fix )-:<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20170702.23' name='23'>20170702.23<\/a><\/td><td>\n<p>Added the \"Open People-Support Dialog (Keywords in Selected Photos)...\" plugin-extras command.<\/p>\n               <p>Fixed a bug introuded the other day in template tokens, related to Windows filenames.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20170621.22' name='22'>20170621.22<\/a><\/td><td>\n<p>Added the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#Newline'>Newline<\/a> template token.<\/p>\n\n               <p>Enhanced the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#FolderName'>FolderName token<\/a><\/p>\n\n               <p>Added the <a href=\"https:\/\/regex.info\/blog\/lightroom-goodies\/template#optional\">\"only if it has a value\" feature<\/a> to template tokens.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20170513.21' name='21'>20170513.21<\/a><\/td><td>\n<p>Added \"Sort Selected Photos By Age...\" to the Plugin-Extras menu. The concept has potential, but\n               it's quite kludgy now.<\/p>\n\n               <p>Allowed 'A' to be the Windows shortcut for \"View &Ages for Photo...\". <\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20170403.20' name='20'>20170403.20<\/a><\/td><td>\n<p>Better support for multiple FB accounts.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20170316.19' name='19'>20170316.19<\/a><\/td><td>\n<p>Fix to the Russian-language support for the People Support plugin.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20170309.18' name='18'>20170309.18<\/a><\/td><td>\n<p>Added the following tokens to <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>the templates that my plugins understand<\/a>: <tt>FileModYYYY<\/tt>, <tt>FileModYY<\/tt>, <tt>FileModMM<\/tt>, <tt>FileModDD<\/tt>, <tt>FileModHH<\/tt>, <tt>FileModMIN<\/tt>, <tt>FileModSS<\/tt>, <tt>FileYYYY<\/tt>, <tt>FileYY<\/tt>, <tt>FileMM<\/tt>, <tt>FileDD<\/tt>, <tt>FileHH<\/tt>, <tt>FileMIN<\/tt>, <tt>FileSS<\/tt>.<\/p>\n\n               <p>Fixed a bug with the keyword tables in the <tt>LUA<\/tt> token.<\/p>\n\n               <p>Added Weekday, Wday, weekday, and wday to the list of <a href=\"https:\/\/regex.info\/blog\/lightroom-goodies\/template\">template tokens<\/a> that my plugins understand.<\/p>\n\n               <p>Switch the log-sending mechanism to https.<\/p>\n               <p>Added \"ISO8601Date\" to the <a href=\"https:\/\/regex.info\/blog\/lightroom-goodies\/template\"> template tokens<\/a> that my plugins understand.<\/p>\n\n               <p>Added the following tokens to the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>template tokens that my plugins understand<\/a>: Artworks, ArtworkTitle, ArtworkCopyright, ArtworkSource, ArtworkCreator, ArtworkDateCreated, ArtworkInventoryNum<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20160630.17' name='17'>20160630.17<\/a><\/td><td>\n<p>Better support for linking Facebook business pages.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20160313.16' name='16'>20160313.16<\/a><\/td><td>\n<p>Added Russian-langauge support for the People-Support <code>{People}<\/code> tag;\n               see the new section of the plugin manager.<\/p>\n\n               <p>Make use of photo timezone data (added and maintained via <a\n               href='https:\/\/regex.info\/blog\/lightroom-goodies\/gps'>my Geoencoding Support plugin<\/a> when\n               considering photo times.<\/p>\n\n               <p>Try to avoid yet another place where Lightroom gets hung because it can't handle certain\n               kinds of dialogs at the same time.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20151226.15' name='15'>20151226.15<\/a><\/td><td>\n<p>Better support for linking to Facebook pages that are private.<\/p>\n               <p>Fixed a display error when editing a linked Facebook page for a person.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20151222.14' name='14'>20151222.14<\/a><\/td><td>\n<p>Add a note to the Facebook-linking stuff that reauthenticating to Facebook via my Facebook\n               plugin can perhaps fix \"not a Facebook profile url\" errors.<\/p>\n\n\t           <p>Added <b>ChildOf<\/b> and <b>DescendantOf<\/b> filters to the <b>{Keywords}<\/b> and\n               <b>{KeywordsAll}<\/b> <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>template\n               tokens<\/a> that my plugins understand.<\/p>\n\n\t           <p>Fixed how custom {People} formatting works with people keywords that have no birthday\n\t           associated with them.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20151122.13' name='13'>20151122.13<\/a><\/td><td>\n<p>I finally understand what causes the blank-dialog problem that some Windows users have reported...\n               it seems that too many keywords overwhelms Lightroom's dialog system, and after some indeterminate\n               amount of keyword data, dialog elements become blank, even in Lightroom system dialogs.<\/p>\n\n               <p>I've submitted a bug report to Adobe.<\/p>\n\n               <p>To hopefully mitigate the issue for some folks, I've changed the \"select a base keyword\" button\n               so that it exits the people-support dialog first, freeing up space in Lightroom's dialog system.\n               If you then select a base keyword, perhaps the newly-reduced number of keywords the dialog tries\n               to display is under the \"too much\" limit.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20151009.12' name='12'>20151009.12<\/a><\/td><td>\n<p>Update to the Facebook-linking stuff... hopeful works in more situations now.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20150704.11' name='11'>20150704.11<\/a><\/td><td>\n<p>Figured out how to make the Facebook-linking stuff work again.\n               You have to have been authenticated to Facebook with\n               <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/facebook'>my export-to-Facebook plugin<\/a>\n               for it to work.<\/p>\n\n              <p>Put back the \"Include on Export\" option because those issues are fixed in Lr6.1.<\/p>\n               \n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20150529.10' name='10'>20150529.10<\/a><\/td><td>\nStill more ways to figure out a person's FB id from their FB page url.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20150528.9' name='9'>20150528.9<\/a><\/td><td>\nTry new ways to figure out a person's FB id from their FB page url.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20150509.8' name='8'>20150509.8<\/a><\/td><td>\nNew Italian translations courtesy of Davide Voltolini. \n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20150505.7' name='7'>20150505.7<\/a><\/td><td>\n<p>In LrCC\/6, the \"Show only People keywords\" option is now augmented by a note about how many\n              non-people keywords are hidden (or would be hidden), to perhaps explain why the list is blank.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20150430.6' name='6'>20150430.6<\/a><\/td><td>\n<p>Big update for Lightroom 6\/CC.<\/p>\n              <p>Added support for Facebook: you can associate a Facebook account with a Person keyword,\n              so that when you send photos to Facebook with\n              <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/facebook'>my export-to-Facebook plugin<\/a>,\n              photos that have had faces recognized in Lightoom will be properly tagged at Facebook.\n              For details, see \"<a href='https:\/\/regex.info\/blog\/2015-04-30\/2564' class='pt'>Automatic Face Tagging Now\n              Supported in my Upload-to-Facebook Plugin for Lightroom<\/a>\".<\/p>\n\n              <p>Removed the stuff related to the Keyword's underlying \"Include on Export\" option, because\n              that option seems to be completely ignored for People keywords. Rather, the publish\/export option\n              \"Remove Person Info\" seems to completely control the inclusion\/exclusion of any People keyword.\n              This seems like a bug to me, but until I get to the bottom of it I worry its inclusion here\n              cold be misleading.<\/p>\n\n              <p>Added a filter for quickly finding name, or finding keywords that do\/don't have a birthday,\n              or are\/aren't associated with a Facebook account.<\/p>\n\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20150206.5' name='5'>20150206.5<\/a><\/td><td>\n<p>In the POODLE-vunerability dialog, display a raw URL of a page on my site that discusses the issue,\n              so that folks can be independently sure that the dialog is indeed from me and not malware.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20150201.4' name='4'>20150201.4<\/a><\/td><td>\n<p>Updated some of the translations, especially French (thanks to Pierre-Nicolas Rigal!)<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20150129.3' name='3'>20150129.3<\/a><\/td><td>\n<p>Added some debug logging to track down a dialog-display error.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20150129.2' name='2'>20150129.2<\/a><\/td><td>\n<p>Added some progress scopes to the preparation of the \"Manage People Keywords\" dialog,\n              because it can take a while if someone has a lot of keywords.<\/p>\n\n              <p>Fixed some of the translations. Respect the user's locale setting for numbers (\"2.5 years\" might become \"2,5 Jarhe\".<\/p>\n\n              <p>In the view-age dialog, added the person's birthday as a tooltip for their name.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20150126.1' name='1'>20150126.1<\/a><\/td><td>\nInitial public release\n\n\n<\/td><\/tr><\/table>\n\n<\/div>\n\n\n","protected":false},"excerpt":{"rendered":"<p>This plugin for Adobe Lightroom Classic adds features related to people in your photos, and their ages, such as knowing the ages of people in a photo at the time it was taken.<\/p> <p>This plugin works in Lightroom Classic, and older versions as far back as Lightroom 4 (though some features depend on the version of Lightroom).<\/p> <p>In Lightroom CC\/6 and later, additional support is built in for Lightroom's Facial-recognition feature.<\/p> <p>The same download works for both Windows and Mac. See the box to the upper right for the download link (in orange) and installation instructions.<\/p> <p style='margin-bottom:10px' class='h'>Table of [...]","protected":false},"author":1,"featured_media":0,"parent":864,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"_links":{"self":[{"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/pages\/2515"}],"collection":[{"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/comments?post=2515"}],"version-history":[{"count":0,"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/pages\/2515\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/pages\/864"}],"wp:attachment":[{"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/media?parent=2515"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}