diff --git a/gigs/thomaslawson.com/work-fia-edits/refresh-2026-09-27/build-plugin.mjs b/gigs/thomaslawson.com/work-fia-edits/refresh-2026-09-27/build-plugin.mjs index 854e52bc8a..7f50e80022 100644 --- a/gigs/thomaslawson.com/work-fia-edits/refresh-2026-09-27/build-plugin.mjs +++ b/gigs/thomaslawson.com/work-fia-edits/refresh-2026-09-27/build-plugin.mjs @@ -7,7 +7,7 @@ import { fileURLToPath } from "node:url"; const here = dirname(fileURLToPath(import.meta.url)); const version = process.argv[2] || "1.0.0"; const css = await readFile(resolve(here, "refresh.css"), "utf8"); -const js = await readFile(resolve(here, "refresh.js"), "utf8"); +const js = (await readFile(resolve(here, "refresh-data.js"), "utf8")) + (await readFile(resolve(here, "refresh.js"), "utf8")); const fonts = "https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,400..600;1,14..32,400..600&family=Newsreader:ital,opsz,wght@0,6..72,400..600;1,6..72,400..600&display=swap"; const php = ` preview.css node -e " -const fs=require('fs');const css=fs.readFileSync('preview.css','utf8');const js=fs.readFileSync('refresh.js','utf8'); +const fs=require('fs');const css=fs.readFileSync('preview.css','utf8');const js=fs.readFileSync('refresh-data.js','utf8')+fs.readFileSync('refresh.js','utf8'); fs.writeFileSync('inject.js', 'document.getElementById(\"tl-refresh-preview\")?.remove();var s=document.createElement(\"style\");s.id=\"tl-refresh-preview\";s.textContent='+JSON.stringify(css)+';document.body.appendChild(s);'+js);" diff --git a/gigs/thomaslawson.com/work-fia-edits/refresh-2026-09-27/fia-2026-09-27/bookshelf-captions-review.csv b/gigs/thomaslawson.com/work-fia-edits/refresh-2026-09-27/fia-2026-09-27/bookshelf-captions-review.csv new file mode 100644 index 0000000000..d8ec88d991 --- /dev/null +++ b/gigs/thomaslawson.com/work-fia-edits/refresh-2026-09-27/fia-2026-09-27/bookshelf-captions-review.csv @@ -0,0 +1,144 @@ +page,#,title (site),caption (site),title (new),caption (new),source,link,other links dropped (wrong target) +bookshelf_afterall,1,Looking for Something to Read,"AFTERALL 6, 2000",Looking for Something to Read,"Afterall, #6, 2000",CV,https://www.thomaslawson.com/wp-content/uploads/2024/01/Afterall6-Looking-for-Something-to-Read.pdf, +bookshelf_afterall,2,Foreword to Issue 8,"AFTERALL 7, 2003",Foreword,"Afterall #7, 2003",CV,https://www.thomaslawson.com/wp-content/uploads/2024/01/Afterall7-foreword.pdf, +bookshelf_afterall,3,Desperate Dreams,"AFTERALL 9, 2004",Desperate Daydreams,"Afterall, #9, 2004",CV,https://www.thomaslawson.com/wp-content/uploads/2024/01/Afterall9-Desperate-Dreams.pdf, +bookshelf_afterall,4,Not a Condition but a Process: The Wooster Group,"AFTERALL 11, 2005",Not a Condition but a Process: The Wooster Group,"Afterall, #11, 2005",CV,https://www.thomaslawson.com/wp-content/uploads/2024/01/Afterall11-Not-a-Condition.pdf, +bookshelf_afterall,5,Foreword to Issue 12.,"AFTERALL 12, 2005",Foreword,"Afterall #12, 2005",CV,https://www.thomaslawson.com/wp-content/uploads/2024/01/Afterall12-foreword.pdf, +bookshelf_afterall,6,"Waiting, Thinking, Drinking: A Conversation about Patrick Caulfield’s Interiors, Written with Katherine Lewis","AFTERALL 12, 2005","Waiting, Thinking, Drinking: A Conversation about Patrick Caulfield’s Interiors, Written with Katherine Lewis","AFTERALL 12, 2005",,https://www.thomaslawson.com/wp-content/uploads/2024/01/Afterall12-Waiting-Thinking-Drinking.pdf, +bookshelf_afterall,7,Afterall 13,AFTERALL 13,Foreword,"Afterall #13, 2006",CV,https://www.thomaslawson.com/wp-content/uploads/2024/01/Afterall13-foreword.pdf, +bookshelf_artforum,1,LIVIO SAGANIC and LEO RABKIN; MATT MULLICAN,"Artforum, November 1980","Livio Saganic and Leo Rabkin, Hal Bromm; Matt Mullican, Mary Boone","Artforum, November 1980",CV,https://www.thomaslawson.com/wp-content/uploads/2023/02/1-LIVIO-SAGANIC-and-LEO-RABKIN-MATT-MULLICAN-1980.pdf, +bookshelf_artforum,2,Fashion Moda et al,"Artforum, March 1981","Fashion Moda, The New Museum; Antonio Gaudi, Brooks Jackson Gallery lolas; ""Further Furniture,"" Marian Goodman/Multiples; Duane Michals, Sidney Janis Gallery","Artforum, March 1981",CV,https://www.thomaslawson.com/wp-content/uploads/2023/02/2-Fashion-Moda-et-al-March-1981.pdf, +bookshelf_artforum,3,"People's Choice, Serra, King","Artforum, April 1981","""The People's Choice,"" Group Material; Richard Serra, Blum/Helman Gallery; Tony King, O.k. Harris Gallery","Artforum, April 1981",CV,https://www.thomaslawson.com/wp-content/uploads/2023/02/3-Peoples-Choice-Serra-King-81.pdf, +bookshelf_artforum,4,"Bush, Porter, Haacke, Salle, Fischl, Winters","Artforum, May 1981","Jack Bush, Andrew Emmerich Gallery; Katherine Porter, David McKee Gallery; Hans Haacke, John Weber Gallery; David Salle, Mary Boone Gallery; EricFischl, Edward Thorp Gallery; Robin Winters, Mary Boone Gallery","Artforum, May 1981",CV,https://www.thomaslawson.com/wp-content/uploads/2023/02/4-Bush-Porter-Haacke-Salle-Fischl-Winters-May-81.pdf, +bookshelf_artforum,5,September 1981,"Artforum, September 1981","Oskar Kokoshka, Marlborough Gallery; Salome and Luciano Castelli, Annina Nosel Gallery; Eric Bogosian, American Theatre Laboratory; Thornton Willis,Oscarsson Hood Gallery","Artforum, September 1981",CV,https://www.thomaslawson.com/wp-content/uploads/2023/02/5-OSKAR-KOKOSHKA-Marlborough-Gallery-SALOME-and-LUCIANO-Castelli-Anina-Nosei-Galery-ERIC-BOGOSIAN-American-Theatre-Laboratory-THORNTON-WILLIS-Oscarsson-Hood-Gallery.-September-1981.pdf, +bookshelf_artforum,6,Last Exit- Painting,"Artforum, October 1981",Last Exit: Painting,"Artforum, pp. 40-47, October 1981",CV,https://www.thomaslawson.com/wp-content/uploads/2023/02/6-Last-Exit-Painting-October-1981.pdf, +bookshelf_artforum,7,Bill Woodrow Marc Chaimowicz,"Artforum, December 1981","Bill Woodrow, New 57 Gallery; Marc Camille Chaimowicz, Tate Gallery","Artforum, December 1981",CV,https://www.thomaslawson.com/wp-content/uploads/2023/02/7-Bill-Woodrow-Marc-Chaimowicz-81.pdf, +bookshelf_artforum,8,"Photos, Bess, Liberman","Artforum, January 1982","In and Out of Power: Photographs from the New York Times, 'P.s. 1; Forrest Bess, Whitney Museum of American Art; Alexander Liberman, Andre Emmerich'","Artforum, January 1982",CV,https://www.thomaslawson.com/wp-content/uploads/2023/02/8-Photos-Bess-Liberman-82.pdf, +bookshelf_artforum,9,"Hurson, Clark","Artforum, May 1982","Michael Hurson, Paula Cooper; John Clark, 49th Parallel","Artforum, May 1982",CV,https://www.thomaslawson.com/wp-content/uploads/2023/02/9-Hurson-Clark-May-82.pdf, +bookshelf_artforum,10,Smith Koberling,"Artforum, Summer 1982","Michael Smith, 'It Starts at Home,' a video installation at the Whitney Museum; Bernd Koberling, Annina Nosei","Artforum, June 1982",CV,https://www.thomaslawson.com/wp-content/uploads/2023/02/10-Smith-Koberling-Summer-82.pdf, +bookshelf_artforum,11,"Katz, McMahon, Polke","Artforum, October 1982","Leandro Katz, ""Metropotamia,"" P.s.1; Paul McMAHON, Artists Space; Sigmar Polke, Holly Solomon Gallery","Artforum, October 1982",CV,https://www.thomaslawson.com/wp-content/uploads/2023/02/11-Katz-McMahon-Polke-82.pdf, +bookshelf_artforum,12,The Dark Side of the Bright Light,"Artforum, November 1982",The Dark Side of the Bright Light,"Artforum, pp. 62-66, November 1982",CV,https://www.thomaslawson.com/wp-content/uploads/2023/02/12-The-Dark-Side-of-the-Bright-Light-1982.pdf, +bookshelf_artforum,13,Susan Caldwell Gallery,"Artforum, February 1983","Gerry Morehead, the Clocktower; Leon Golub, Susan Caldwell Gallery","Artforum, February 1983",CV,https://www.thomaslawson.com/wp-content/uploads/2023/02/13-GERRY-MOREHEAD-the-Clocktower-LEON-GOLUB-Susan-Caldwell-Gallery.-February-1983.pdf, +bookshelf_artforum,14,The Beast,"Artforum, March 1983","""The Beast' and John Dunkley-Smith, P.s. 1; Victor Alzamora and Jennifer Bolande, Artists Space","Artforum, March 1983",CV,https://www.thomaslawson.com/wp-content/uploads/2023/02/14-The-Beast-and-JOHN-DUNKLEY-SMITH-P.S.1-VICTOR-ALZAMORA-and-JENNIFER-BOLANDE-Artists-Space.-March-1983.pdf, +bookshelf_artforum,15,"Middendorf, Bosman, Clemente","Artforum, Summer 1983","Helmut Middendorf, Bonlow Gallery; Richard Bosman, Brooke Alexander Gallery; Francesco Clemente, Sperone Westwater Gallery and Mary Boone Gallery","Artforum, Summer 1983",CV,https://www.thomaslawson.com/wp-content/uploads/2023/02/15-Middendorf-Bosman-Clemente-83.pdf, +bookshelf_artforum,16,"McCollum, Chunn, R.C.Morgan","Artforum, September 1983","Allan McCollum, Marian Goodman Gallery; “The Apocalyptic Vision: Four New Imagists,” Galleri Bellman;","Artforum, September 1983",CV,https://www.thomaslawson.com/wp-content/uploads/2023/02/16-McCollum-Chunn-R.C.Morgan-1983.pdf, +bookshelf_artforum,17,New German Painting and Kiely Jenkins,"Artforum, January 1984","“New Expressions,” P.s.1 Contemporary Art Center; Kiely Jenkins, Fun Gallery","Artforum, January 1984",CV,https://www.thomaslawson.com/wp-content/uploads/2023/02/17-New-German-Painting-and-Kiely-Jenkins.pdf, +bookshelf_artforum,18,Group Material James Brown May,"Artforum, May 1984",Group Material James Brown May,"Artforum, May 1984",,https://www.thomaslawson.com/wp-content/uploads/2023/02/18-Group-Material-James-Brown-May-84.pdf, +bookshelf_artforum,19,TL review of How New York Stole the Idea of Modern Art,"Artforum, Summer 1984",TL review of How New York Stole the Idea of Modern Art,"Artforum, Summer 1984",,https://www.thomaslawson.com/wp-content/uploads/2023/02/19-TL-review-of-How-New-York-Stole-the-Idea-of-Modern-Art.pdf, +bookshelf_artforum,20,Generation in vitro,"Artforum, September 1984",Forum: Generation in Vitro,"Artforum, p. 99, September 1984",CV,https://www.thomaslawson.com/wp-content/uploads/2023/02/20-Generation-in-vitro-1984.pdf, +bookshelf_artforum,21,Hilton Kramer,"Artforum, November 1984",Hilton Kramer: An Appreciation,"Artforum, pp. 90-91, November 1984",CV,https://www.thomaslawson.com/wp-content/uploads/2023/02/21-Hilton-Kramer-1984.pdf, +bookshelf_artforum,22,Snake Pit,"Artforum, March 1986","Towards Another Laocoon, or, The Snake Pit","Artforum, March 1986",CV,https://www.thomaslawson.com/wp-content/uploads/2023/02/22-Snake-Pit-1986.pdf, +bookshelf_artforum,23,Time Bandits,"Artforum, January 1988",Time Bandits/Space Vampires,"Artforum, January 1988",CV,https://www.thomaslawson.com/wp-content/uploads/2023/02/23-Time-Bandits-1988.pdf, +bookshelf_artforum,24,Infotainment review,"Artforum, October 2004",Infotainment review,"Artforum, October 2004",,https://www.thomaslawson.com/wp-content/uploads/2023/02/24-Infotainment-review-2004.pdf, +bookshelf_artforum,25,Gretchen Bender,"Artforum, April 2005",Gretchen Bender,"Artforum, April 2005",,https://www.thomaslawson.com/wp-content/uploads/2023/02/25-Gretchen-Bender-obit-2005.pdf, +bookshelf_artforum,26,Jean Prouve in New Haven,"Arforum, January 2006",Pret a Prouve,"Artforum, January 2006",CV,https://www.thomaslawson.com/wp-content/uploads/2023/02/26-Jean-Prouve-in-New-Haven-2005.pdf, +bookshelf_artforum,27,Los Angeles at Pompidou,"Artforum, April 2005",Los Angeles at Pompidou,"Artforum, April 2005",,https://www.thomaslawson.com/wp-content/uploads/2023/02/27-Los-Angeles-at-Pompidou-2006.pdf, +bookshelf_artforum,28,Lucy McKenzie,"Artforum, November 2006",Lucy McKenzie,"Artforum, November 2006",,https://www.thomaslawson.com/wp-content/uploads/2023/02/28-Lucy-McKenzie-2006.pdf, +bookshelf_artforum,29,Thomas Lawson Top Ten,"Artforum, December 2006",Top Ten List,"Artforum, December 2006",CV,https://www.thomaslawson.com/wp-content/uploads/2023/02/29-Thomas-Lawson-Top-Ten.pdf, +bookshelf_artforum,30,Michael Hurson,"Arforum, April 2007",Michael Hurson,"Arforum, April 2007",,https://www.thomaslawson.com/wp-content/uploads/2023/02/30-Michael-Hurson-2007.pdf, +bookshelf_artforum,31,Jack Goldstein,"Artforum, December 2012",Reviews: Jack Goldstein at Orange County Museum of Art,"Artforum, p. 269, December 2012",CV,https://www.thomaslawson.com/wp-content/uploads/2023/02/31-Jack-Goldstein-review-December-2012.pdf, +bookshelf_artforum,32,Made in LA,"Artforum, October 2014",Made in L.a. at Hammer Museum,"Artforum, October 2014",CV,https://www.thomaslawson.com/wp-content/uploads/2023/02/32-Made-in-LA-Review.pdf, +bookshelf_eastofborneo,1,The Journey West,"October 10, 2010",The Journey West,"October 10, 2010",,https://eastofborneo.org/articles/the-journey-west, +bookshelf_eastofborneo,2,Interview with Andrea Bowers,"January 20, 2011",Interview with Andrea Bowers,"January 20, 2011",,https://eastofborneo.org/articles/a-story-about-civil-disobedience-and-landscape-interview-with-andrea-bowers, +bookshelf_eastofborneo,3,Institutional Whitewash,"February 11, 2011",Institutional Whitewash,"February 11, 2011",,https://eastofborneo.org/articles/institutional-whitewash/, +bookshelf_eastofborneo,4,Interview with Liz Glynn,"September 6, 2012",Interview with Liz Glynn,"September 6, 2012",,https://eastofborneo.org/articles/artists-at-work-liz-glynn, +bookshelf_eastofborneo,5,"Michael Asher, 1943-2012","October 15, 2012","Michael Asher, 1943-2012","October 15, 2012",,https://eastofborneo.org/archives/michael-asher-1943-2012, +bookshelf_eastofborneo,6,4 Taxis,"February 5, 2013",Second Life: 4 Taxis Magazine,"Thomas Lawson, East of Borneo, February 5, 2013",CV,https://eastofborneo.org/articles/second-life-4-taxis-magazine, +bookshelf_eastofborneo,7,Rhapsody in Pink: Steven Prina Paints,"April 11, 2013",Rhapsody in Pink: Steven Prina Prints,"Thomas Lawson, East of Borneo, April 11, 2013",CV,https://eastofborneo.org/articles/rhapsody-in-pink-stephen-prina-paints, +bookshelf_eastofborneo,8,"Allan Sekula, 1951-2013","August 11, 2013",Allan Sekula (1951-2013),"Thomas Lawson, East of Borneo, August 11, 2013",CV,https://eastofborneo.org/archives/allan-sekula-1951-2013, +bookshelf_eastofborneo,9,Interview with Fiona Connor,"July 18, 2017",Interview with Fiona Connor,"July 18, 2017",,https://eastofborneo.org/articles/artists-at-work-fiona-connor, +bookshelf_eastofborneo,10,A Schoolboy visits Man Ray,"August 29, 2017",A Schoolboy visits Man Ray,"August 29, 2017",,https://eastofborneo.org/archives/a-schoolboy-visits-man-ray-at-the-villa-elaine-apartments, +bookshelf_eastofborneo,11,Walter Hopps discovers Joseph Cornell,"August 29, 2017",Walter Hopps discovers Joseph Cornell,"August 29, 2017",,https://eastofborneo.org/archives/walter-hopps-discovers-joseph-cornell, +bookshelf_eastofborneo,12,Marcel Duchamp cover for Beatrice Wood catalogue,"August 29, 2017",Marcel Duchamp cover for Beatrice Wood catalogue,"August 29, 2017",,https://eastofborneo.org/archives/beatrice-wood-catalogue, +bookshelf_eastofborneo,13,Walter Hopps visits the Arensberg Collection,"October 1, 2017",Walter Hopps visits the Arensberg Collection,"October 1, 2017",,https://eastofborneo.org/archives/walter-hopps-visits-the-arensberg-collection, +bookshelf_eastofborneo,14,"Cesar Pelli, 1926-2019","July 21, 2019","Cesar Pelli, 1926-2019","July 21, 2019",,https://eastofborneo.org/archives/cesar-pelli-1926-2019, +bookshelf_eastofborneo,15,Remembering John Baldessari,"March 2, 2020",Remembering John Baldessari,"March 2, 2020",,https://eastofborneo.org/articles/remembering-john-baldessari, +bookshelf_eastofborneo,16,"Betye Saar, The Liberation of Aunt Jemima, 1972","June 19, 2020","Betye Saar, The Liberation of Aunt Jemima, 1972","June 19, 2020",,https://eastofborneo.org/archives/betye-saar-the-liberation-of-aunt-jemima-1972, +bookshelf_eastofborneo,17,"Millard Sheets, Albert Stewart: Monument to Freemason, Albert Pike, Scottish Rite Temple, 1961","August 1, 2020","Millard Sheets, Albert Stewart: Monument to Freemason, Albert Pike, Scottish Rite Temple, 1961","August 1, 2020",,https://eastofborneo.org/archives/millard-sheets-albert-stewart-monument-to-freemason-albert-pike-scottish-rite-temple-1961, +bookshelf_eastofborneo,18,A CalArts Story,"September 7, 2021",A CalArts Story,"September 7, 2021",,https://eastofborneo.org/articles/a-calarts-story, +bookshelf_eastofborneo,19,"Luciano Perna, 1958-2021","January 21, 2022",Luciano Perna (1958 – 2021) by Thomas Lawson,"Thomas Lawson, East of Borneo, January 21, 2022",CV,https://eastofborneo.org/articles/luciano-perna-1958-2021/, +bookshelf_eastofborneo,20,Michael Asher: There is Never Enough Time to get Everything Said,"May 24, 2022",Michael Asher: There is Never Enough Time to get Everything Said,"May 24, 2022",,https://eastofborneo.org/articles/michael-asher-there-is-never-enough-time-to-get-everything-said, +bookshelf_writingsabouttl,1,Thomas Lawson at LAXART,,Thomas Lawson at LAXART,"Christopher Miles, Artforum, pp. 506-507, Summer 2007",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/650-Thomas-Lawson-at-LAXART.pdf, +bookshelf_writingsabouttl,2,Christopher Miles Review,,Christopher Miles Review,,,https://www.thomaslawson.com/wp-content/uploads/2023/04/Christopher-Miles-review-2007.pdf, +bookshelf_writingsabouttl,3,Donald Kuspit,1982,Donald Kuspit,"Donald B., Kuspit, Artforum, pp. 29-30, June 1982",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/Donald-Kuspit-review-MetroPictures-1982.pdf, +bookshelf_writingsabouttl,4,Ingrid Sischy,,Ingrid Sischy Talks With Michelle Kyo,"Artforum, February 1982",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/Ingrid-Sischy-talks-with-Michelle-Kuo.pdf, +bookshelf_writingsabouttl,5,Jeanne Silverthorn,1990,Jeanne Silverthorn,"Jeanne Silverthorne, Third Eye Centre, Glasgow, July 1990",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/Jeanne-Silverthorne-1990.pdf, +bookshelf_writingsabouttl,6,Jeanne Silverthorn,1985,"Thomas Lawson, Metro Pictures","Jeanne Silverthorne, Artforum, Summer 1985",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/Jeanne-Silverthorne-review-85.pdf, +bookshelf_writingsabouttl,7,Joan Casademont,,Joan Casademont,"Joan Casademont, Artforum, pp. 74-75, September 1981",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/Joan-Casademont-review-81.pdf, +bookshelf_writingsabouttl,8,Judith Russi,May 1983,"Chicago: 'Compassionate Images,' N.a.m.e. Gallery","Judith Russi Kirshner, Artforum, pp. 102-103, May 1983",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/Judith-Russi-Kirchner-review-1983.pdf, +bookshelf_writingsabouttl,9,Kate Linker,,Melodramatic Tactics,"Kate Linker, Artforum, September 1982",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/Kate-Linker-Melodramatic-Tactics-1982.pdf, +bookshelf_writingsabouttl,10,Kuspit on Drawing,,New Drawing in America at The Drawing Center,"Donald B., Kuspit, Artforum, pp. 83, April 1982",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/Kuspit-on-Drawing-82.pdf, +bookshelf_writingsabouttl,11,Lisa Liebman,,Thomas Lawson at Metro Pictures,"Lisa Liebman, Artforum, March 1984",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/Lisa-Liebman-review-1984.pdf, +bookshelf_writingsabouttl,12,Lobel Singerman,,Outside the Frame,"Michael Lobel, Artforum, September 2009",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/Lobel-Singerman-Pictures-Generation.pdf, +bookshelf_writingsabouttl,13,Nichtsagend,,Nichtsagend,"Lauren O’Neill-Butler, Artforum, September 7 2015",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/Nichtsagend-preview.pdf, +bookshelf_writingsabouttl,14,Ron Jones - Decay of Living,,Thomas Lawson: The Decay of Lying,"Ronald Jones, Artscribe International, March/April 1987",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/Ron-Jones-Decay-of-Lying-1987.pdf, +bookshelf_writingsabouttl,15,Ron Jones - Seeing is Believing,,Ron Jones - Seeing is Believing,,,https://www.thomaslawson.com/wp-content/uploads/2023/04/Ron-Jones-seeing-is-Beleiving-1985.pdf, +bookshelf_writingsabouttl,16,Schjeldahl,,Alien Emotions: Pictures art revisited,"Peter Schjeldahl, The New Yorker, May 4 2009",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/Schjeldahl-on-Pictures-Generation.pdf, +bookshelf_writingsabouttl,17,Sydney Biennale,,Sydney Biennale,"Thomas McEvilly, Artforum, November 1986",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/Sydney-Biennale-86-review.pdf, +bookshelf_writingsabouttl,18,Travis Deihl,,Critics' Picks: Thomas Lawson,"Travis Diehl, Artforum, September 27 2012",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/Travis-Deihl-review-2012.pdf, +bookshelf-anthologies,1,Art After Modernism: Rethinking Representation,"Brian Wallis ed., New Museum of Contemporary Art, NY, 1984, reprinted 1992",Art After Modernism: Rethinking Representation,"Brian Wallis ed., New Museum of Contemporary Art, NY, 1984, reprinted 1992",,, +bookshelf-anthologies,2,Theories of Contemporary Art,"Richard Hertz, ed., Prentice-Hall, NJ, 1985",Theories of Contemporary Art,"Richard Hertz, ed., Prentice-Hall, NJ, 1985",,, +bookshelf-anthologies,3,Infotainment,"Peter Nagy and David Robbins, eds., Reichard/Livet and J. Berg Press, NY, 1985",Infotainment,"Peter Nagy and David Robbins, eds., Reichard/Livet and J. Berg Press, NY, 1985",,https://www.thomaslawson.com/wp-content/uploads/2023/04/359-Empire.pdf,https://www.thomaslawson.com/wp-content/uploads/2023/04/359-Empire.pdf (shared by several items) +bookshelf-anthologies,4,Individuals: A Selected History of Contemporary Art 1945-1986,"Howard Singerman, ed., MoCA Los Angeles and Abbeville Press, NY, 1986",Individuals: A Selected History of Contemporary Art 1945-1986,"Howard Singerman, ed., MoCA Los Angeles and Abbeville Press, NY, 1986",,, +bookshelf-anthologies,5,Modern Dreams: The Rise and Fall of Pop,"Ed Leffingwell and Karen Marta, eds., MIT Press, Cambridge, MA 1988",Modern Dreams: The Rise and Fall of Pop,"Ed Leffingwell and Karen Marta, eds., MIT Press, Cambridge, MA 1988",,https://www.thomaslawson.com/wp-content/uploads/2023/04/359-Empire.pdf,https://www.thomaslawson.com/wp-content/uploads/2023/04/359-Empire.pdf (shared by several items) +bookshelf-anthologies,6,Blasted Allegories: An Anthology of Writing by Contemporary Artists,"Brian Wallis, ed., New Museum of Contemporary Art, NY and MIT Press, Cambridge M, 1989",Blasted Allegories: An Anthology of Writing by Contemporary Artists,"Brian Wallis, ed., New Museum of Contemporary Art, NY and MIT Press, Cambridge M, 1989",,, +bookshelf-anthologies,7,Flash Art: Two Decades of History,"Giancarlo Politi and Helena Kontova, eds., MIT Press, Cambridge, MA 1990",Flash Art: Two Decades of History,"Giancarlo Politi and Helena Kontova, eds., MIT Press, Cambridge, MA 1990",,https://www.thomaslawson.com/wp-content/uploads/2023/04/359-Empire.pdf,https://www.thomaslawson.com/wp-content/uploads/2023/04/359-Empire.pdf (shared by several items) +bookshelf-anthologies,8,Postmodern Perspectives: Issues in Contemporary Art,"Howard Risatti ed., Prentice-Hall., NJ, 1990, 1998",Postmodern Perspectives: Issues in Contemporary Art,"Howard Risatti ed., Prentice-Hall., NJ, 1990, 1998",,, +bookshelf-anthologies,9,"Between Artists: Twelve Artists Interview Twelve Artists,","Barnes, Barossh, Bartman, Sappington, eds., A.R.T. Press, Los Angeles, 1996","Between Artists: Twelve Artists Interview Twelve Artists,","Barnes, Barossh, Bartman, Sappington, eds., A.R.T. Press, Los Angeles, 1996",,https://www.thomaslawson.com/wp-content/uploads/2023/04/359-Empire.pdf,https://www.thomaslawson.com/wp-content/uploads/2023/04/359-Empire.pdf (shared by several items) +bookshelf-anthologies,10,"Thomas Lawson: Mining for Gold, Selected Writings 1979-1996","Lionel Bovier and Fabrice Stroun, eds., JRP/Ringier, Zurich, 2004","Thomas Lawson: Mining for Gold, Selected Writings 1979-1996","Lionel Bovier and Fabrice Stroun, eds., JRP/Ringier, Zurich, 2004",,, +bookshelf-anthologies,11,REALLIFE Magazine; Selected Writings and Projects 1979-1994,"Miriam Katzeff, Thomas Lawson, Susan Morgan, eds., Primary Information, NY, 2006",REALLIFE Magazine; Selected Writings and Projects 1979-1994,"Miriam Katzeff, Thomas Lawson, Susan Morgan, eds., Primary Information, NY, 2006",,https://www.thomaslawson.com/wp-content/uploads/2023/04/359-Empire.pdf,https://www.thomaslawson.com/wp-content/uploads/2023/04/359-Empire.pdf (shared by several items) +bookshelf-anthologies,12,12 The Beat and the Buzz: Inside the L.A. Art World,"Richard Hertz, ed., Mineola Press, CA 2009",12 The Beat and the Buzz: Inside the L.A. Art World,"Richard Hertz, ed., Mineola Press, CA 2009",,, +bookshelf-anthologies,13,Excursus I-IV,"Alex Klein, ed., ICA, University of Pennsylvania, 2014",Excursus I-IV,"Alex Klein, ed., ICA, University of Pennsylvania, 2014",,https://www.thomaslawson.com/wp-content/uploads/2023/04/359-Empire.pdf,https://www.thomaslawson.com/wp-content/uploads/2023/04/359-Empire.pdf (shared by several items) +bookshelf-anthologies,14,Akademie X Lessons in Art and Life,"Craig Garret, et al, eds., Phaidon, London and NY, 2015",Akademie X Lessons in Art and Life,"Craig Garret, et al, eds., Phaidon, London and NY, 2015",,, +bookshelf-anthologies,15,Remote/Control: astral Projection in Higher Ed,"Emma kemp and Adriana Widdoes, eds., EastofBorneo Books, LA 2020",Remote/Control: astral Projection in Higher Ed,"Emma kemp and Adriana Widdoes, eds., EastofBorneo Books, LA 2020",,https://www.thomaslawson.com/wp-content/uploads/2023/04/359-Empire.pdf,https://www.thomaslawson.com/wp-content/uploads/2023/04/359-Empire.pdf (shared by several items) +bookshelf-anthologies,16,Artists at Work,"Adriana Widdoes, ed., EastofBorneo Books, LA, 2023",Artists at Work,"Adriana Widdoes, ed., EastofBorneo Books, LA, 2023",,, +bookshelf-anthologies,17,,,,,,https://www.thomaslawson.com/wp-content/uploads/2023/10/Familie-Beck.pdf, +bookshelf-reallife,1,REALLIFE Review of Anthology,,REALLIFE Review of Anthology,,,https://www.thomaslawson.com/wp-content/uploads/2023/12/654-Real-Life-review-of-anthology.pdf,https://eastofborneo.org/articles/the-journey-west +bookshelf-reallife,2,REALLIFE Show,,REALLIFE Show,,,https://www.thomaslawson.com/wp-content/uploads/2023/12/683-Real-Life-Show.pdf,https://eastofborneo.org/articles/a-story-about-civil-disobedience-and-landscape-interview-with-andrea-bowers +bookshelf-reallife,3,Pfiel Magazine,,Pfiel Magazine,,,https://www.thomaslawson.com/wp-content/uploads/2023/12/Pfeil-9_Real-Life-interview-history.pdf,https://eastofborneo.org/articles/the-journey-west +bookshelf-reallife,4,REALLIFE 1,,REALLIFE 1,,,https://www.thomaslawson.com/wp-content/uploads/2023/12/REALLIFE-1-cover-and-contents.pdf,https://eastofborneo.org/articles/a-story-about-civil-disobedience-and-landscape-interview-with-andrea-bowers +bookshelf-reallife,5,REALLIFE 2,,"Every Picture Tells a Story, Don't It","REALLIFE Magazine, Number 2, 1977",CV,https://www.thomaslawson.com/wp-content/uploads/2023/12/REALLIFE-2-Every-Picture-Tells-a-Story-Dont-It_-.pdf,https://eastofborneo.org/articles/the-journey-west +bookshelf-reallife,6,REALLIFE 3,,REALLIFE 3,,,https://www.thomaslawson.com/wp-content/uploads/2023/12/REALLIFE-3-Combined.pdf,https://eastofborneo.org/articles/a-story-about-civil-disobedience-and-landscape-interview-with-andrea-bowers +bookshelf-reallife,7,REALLIFE 4,,Long Distance Information,"REALLIFE Magazine, Number 4, 1980",CV,https://www.thomaslawson.com/wp-content/uploads/2023/12/REALLIFE-4-Long-Distance-Information.pdf,https://eastofborneo.org/articles/the-journey-west +bookshelf-reallife,8,REALLIFE 5,,REALLIFE 5,,,https://www.thomaslawson.com/wp-content/uploads/2023/12/REALLIFE-5-cover-and-contents.pdf,https://eastofborneo.org/articles/a-story-about-civil-disobedience-and-landscape-interview-with-andrea-bowers +bookshelf-reallife,9,REALLIFE 6,,REALLIFE 6,,,https://www.thomaslawson.com/wp-content/uploads/2023/12/REALLIFE-6-cover-and-contents.pdf,https://eastofborneo.org/articles/the-journey-west +bookshelf-reallife,10,REALLIFE 7,,Too Good to be True,"REALLIFE Magazine, Number 7, Fall 1981",CV,https://www.thomaslawson.com/wp-content/uploads/2023/12/REALLIFE-7-Too-Good-To-Be-True.pdf,https://eastofborneo.org/articles/a-story-about-civil-disobedience-and-landscape-interview-with-andrea-bowers +bookshelf-reallife,11,REALLIFE 8,,REALLIFE 8,,,https://www.thomaslawson.com/wp-content/uploads/2023/12/REALLIFE-8-cover-and-contents.pdf,https://eastofborneo.org/articles/the-journey-west +bookshelf-reallife,12,REALLIFE 9,,REALLIFE 9,,,https://www.thomaslawson.com/wp-content/uploads/2023/12/REALLIFE-9-cover-and-contents.pdf,https://eastofborneo.org/articles/a-story-about-civil-disobedience-and-landscape-interview-with-andrea-bowers +bookshelf-reallife,13,REALLIFE 10,,REALLIFE 10,,,https://www.thomaslawson.com/wp-content/uploads/2023/12/REALLIFE-10-cover-and-contents.pdf,https://eastofborneo.org/articles/the-journey-west +bookshelf-reallife,14,REALLIFE 11-12,,REALLIFE 11-12,,,https://www.thomaslawson.com/wp-content/uploads/2023/12/REALLIFE-11-12-Komar-and-Melamid-interview.pdf,https://eastofborneo.org/articles/a-story-about-civil-disobedience-and-landscape-interview-with-andrea-bowers +bookshelf-reallife,15,REALLIFE 13,,REALLIFE 13,,,https://www.thomaslawson.com/wp-content/uploads/2023/12/REALLIFE-13-cover-and-contents.pdf,https://eastofborneo.org/articles/the-journey-west +bookshelf-reallife,16,REALLIFE 14,,REALLIFE 14,,,https://www.thomaslawson.com/wp-content/uploads/2023/12/REALLIFE-14-cover-and-contents.pdf,https://eastofborneo.org/articles/a-story-about-civil-disobedience-and-landscape-interview-with-andrea-bowers +bookshelf-reallife,17,REALLIFE 15,,REALLIFE 15,,,https://eastofborneo.org/articles/the-journey-west, +bookshelf-reallife,18,REALLIFE 16,,REALLIFE 16,,,https://www.thomaslawson.com/wp-content/uploads/2023/12/REALLIFE-16-The-Biennale-of-Sydney-1986.-with-Susan-Morgan.pdf,https://eastofborneo.org/articles/a-story-about-civil-disobedience-and-landscape-interview-with-andrea-bowers +bookshelf-reallife,19,REALLIFE 17-18,,REALLIFE 17-18,,,https://www.thomaslawson.com/wp-content/uploads/2023/12/REALLIFE-17-18-cover-and-contents.pdf,https://eastofborneo.org/articles/the-journey-west +bookshelf-reallife,20,REALLIFE 19,,An Interview with Critical Art Ensemble,"REALLIFE Magazine, pp. 2-9, Winter 1988",CV,https://www.thomaslawson.com/wp-content/uploads/2023/12/REALLIFE-19-Critical-Art-Ensemble-interview.pdf,https://eastofborneo.org/articles/a-story-about-civil-disobedience-and-landscape-interview-with-andrea-bowers +bookshelf-reallife,21,REALLIFE 20,,REALLIFE 20,,,https://www.thomaslawson.com/wp-content/uploads/2023/12/REALLIFE-20-no-bull.pdf,https://eastofborneo.org/articles/the-journey-west +bookshelf-reallife,22,REALLIFE 21-22,,REALLIFE 21-22,,,https://www.thomaslawson.com/wp-content/uploads/2023/12/REALLIFE-21-22-cover-and-contents.pdf,https://eastofborneo.org/articles/a-story-about-civil-disobedience-and-landscape-interview-with-andrea-bowers +bookshelf-reallife,23,REALLIFE 23,,REALLIFE 23,,,https://www.thomaslawson.com/wp-content/uploads/2023/12/REALLIFE-23-cover-and-contents.pdf,https://eastofborneo.org/articles/the-journey-west +bookshelf-reallife,24,REALLIFE Anthology,,"REALLIFE Magazine: Selected Writings and Projects 1979-1994, Miriam Katzeff, Thomas Lawson, and Susan Morgan, eds.","Primary Information, New York, 2006",CV,https://www.thomaslawson.com/wp-content/uploads/2023/12/REALLIFE-Magazine-anthology-history-of-the-magazine.pdf,https://eastofborneo.org/articles/a-story-about-civil-disobedience-and-landscape-interview-with-andrea-bowers +elementor-1796,1,Video Data Bank Profile,,Video Data Bank Profile,"Video Data Bank at the School of the Art Institute of Chicago, Vol. 4, No. 2, March 1984",CV,https://www.thomaslawson.com/wp-content/uploads/2023/12/403-Video-Data-Bank-Profile.pdf, +elementor-1796,2,Robbins Interview,,Robbins Interview,"D.a. Robbins, Arts Magazine, September 1984",CV,https://www.thomaslawson.com/wp-content/uploads/2023/12/497-Robbins-Interview-with-TL.pdf, +elementor-1796,3,Robert Rooney Pool Side,,Robert Rooney Pool Side,"Robert Rooney, Art & Text, Pool-Side issue, Victoria College, Australia, December-January 1982",CV,https://www.thomaslawson.com/wp-content/uploads/2023/12/620-Robert-Rooney-Pool-Side.pdf, +elementor-1796,4,CAE Art Papers,,CAE Art Papers,"Critical Art Ensemble, Art Papers, Contemporary Art in the Southeast, January/February 1989",CV,https://www.thomaslawson.com/wp-content/uploads/2023/12/793-CAE-Art-Papers.pdf, +elementor-1796,5,Christopher Howard,,Christopher Howard,"Christopher Howard, Artforum, May 7 2011",CV,https://www.thomaslawson.com/wp-content/uploads/2023/12/Christopher-Howard-interview-about-EOB-2011.pdf, +elementor-1796,6,McEvilly Sischy,,McEvilly Sischy,"Thomas McEvilly and Ingrid Sischy, Artforum, February 1988",CV,https://www.thomaslawson.com/wp-content/uploads/2023/12/McEvilly-and-Sischy-interview-TLawson-1988.pdf, +elementor-395,1,Spike Art Magazine Issue 71 (Spring 2022),,"Civilization and the Landscape of Discontent at Nature Morte, New York, 1984","Spike Art Magazine, Issue 71, Summer, 2022",CV,https://www.thomaslawson.com/wp-content/uploads/2024/01/71_Spike_Exhibition_History_10.pdf, +elementor-395,2,Empire,,"Empire, with Russell Ferguson","Glasgow; Brunswick St., reprinted by Eindhoven: Stedelijk van Abbsemuseum, 1998",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/359-Empire.pdf, +elementor-395,3,Laura Owens,,The Unbearable Lightness of Painting,"Laura Owens, exhibition catalogue, Museum of Contemporary Art Los Angeles, 2003",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/439-Laura-Owens.pdf, +elementor-395,4,Richard Wright,,Interview with Richard Wright,"Richard Wright: Southeast Corner of Things, Locus+, Newcastle upon Tyne, 2000",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/643-Richard-Wright.pdf, +elementor-395,5,Michael Hurson,,Fractional Gift: Michael Hurson obituary,"Artforum, pp. 67, March 2007",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/648-Michael-Hurson.pdf, +elementor-395,6,Paint,,A Change of Mind,"Paint: a psychedelic primer, 2006",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/652-Paint.pdf, +elementor-395,7,Gary Hume,,Gary Hume: Modern Painting,"Gary Hume: Door Painting, exhibition catalogue, Modern Art Oxford, 2008",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/727-Gary-Hume.pdf, +elementor-395,8,Some Thoughts on Painting,,Counterparts: Contemporary Painters and Their Influences,"Virginia Museum of Contemporary Art, 2007",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/753-Some-Thoughts-on-painting.pdf, +elementor-395,9,Stills,,"Listening is Looking, Singing is Making","Stills: Aileen Campbell, ICA, London, 2008",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/761-Stills.pdf, +elementor-395,10,Gerard Hemsworth,,Enchantment and its Discontents,"Gerard Hemsworth: Hidden Agenda, exhibition catalogue, Kunsthalle Bern, Aldrich Contemporary Art Museum, 2009",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/795-Hemsworth.pdf, +elementor-395,11,Gretchen Bender,,Gretchen Bender obituary,"Artforum, April 2005",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/Gretche-Bender-obit-2005.pdf, +elementor-395,12,Infotainment Review,,On 'Infotainment',"Artforum, October 2004",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/Infotainment-review-2004.pdf, +elementor-395,13,LA at Pompidou,,"Reviews: Los Angeles, 55-85 at Pompidou","Artforum, September 2006",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/Los-Angeles-at-Pompidou-2006.pdf, +elementor-395,14,Lucy McKenzie,,Outside In: The Art of Lucy McKenzie,"Artforum, November 2006",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/Lucy-McKenzie-2006.pdf, +elementor-395,15,Mario Merz,,The Poetics of the Political: Early work of Mario Merz,"Mario Merz: Time Is Mute, Museo Nacional Centro de Arte Reina Sofía, Madrid, 2019",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/Mario-Merz-essay.pdf, +elementor-395,16,Georgina Starr,,"You Crack Me Up: Georgina Starr, Tuberama, cover","Ikon Gallery, Birmingham, 1998",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/Georgina-Starr-cover.pdf, +elementor-395,17,Chema Cobo,,Chema Cobo: El Principe Rana,"Chema Cobo: El laberinto de la brujula, Centro Andaluz de Atre Contemporaneo, Sevilla, 1998",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/Chema-Cobo-1998.pdf, +elementor-395,18,Don Dudley,,Don Dudley: In Search of the Light,"Don Dudley: Early Work, Thomas Zander, ed., Verlag der Buchhandlung Walther König, Cologne, 2016",CV,https://www.thomaslawson.com/wp-content/uploads/2023/04/Don-Dudley.pdf, +elementor-395,19,,,,,,https://www.thomaslawson.com/wp-content/uploads/2023/10/Familie-Beck.pdf, diff --git a/gigs/thomaslawson.com/work-fia-edits/refresh-2026-09-27/fia-2026-09-27/build-shelf-data.py b/gigs/thomaslawson.com/work-fia-edits/refresh-2026-09-27/fia-2026-09-27/build-shelf-data.py new file mode 100644 index 0000000000..30c61f4189 --- /dev/null +++ b/gigs/thomaslawson.com/work-fia-edits/refresh-2026-09-27/fia-2026-09-27/build-shelf-data.py @@ -0,0 +1,58 @@ +# build-shelf-data.py — Bookshelf item captions from Tom's CV (Fía, 2026-09-27). +# Match only through an item's primary (cover) link; a link shared by several +# items on one page (a copy-paste leftover) matches nothing. A secondary link +# that points at a *different* CV entry is a wrong link and is dropped. Generic +# CV titles ("Thomas Lawson") never replace the site's own. Writes +# refresh-data.js + a review CSV for Fía. +import csv, json, re +d = json.load(open("fia-2026-09-27/shelves.json")) +cv = list(csv.DictReader(open("fia-2026-09-27/tl-cv.csv"))) +def norm(u): return re.sub(r"[?#].*$","",(u or "").strip()).rstrip("/").replace("http://","https://").replace("://www.","://").lower() +byurl = {} +for r in cv: + for k in ("Page on TL site (sometimes PDF)","Website(s)"): + for u in re.split(r"\s+", r[k] or ""): + if u.startswith("http"): byurl.setdefault(norm(u), []).append(r) +KEEP = {"REALLIFE","MOCA","LACE","LAXART","CAE","PS1","USA","UK","LA","NY","TV","BBC","CCA","SVA","ICA","II","III","IV","MIT","NJ","MA","CA"} +def uncap_words(s): + return re.sub(r"\b[A-Z][A-Z'’.-]{2,}\b", lambda m: m.group(0) if m.group(0).strip(".") in KEEP else m.group(0).capitalize(), s) +def clean(s): return re.sub(r"\s+", " ", (s or "").replace(" ,", ",")).strip().strip(",").strip() +STOP = set("the and with for from about thomas lawson review interview profile cover".split()) +def words(s): return {w for w in re.findall(r"[a-z]{4,}", s.lower()) if w not in STOP} +def key(src): return re.sub(r"-\d+x\d+(?=\.\w+$)", "", src.split("/")[-1]).lower() +out, review = {}, [] +MONTH = r"(January|February|March|April|May|June|July|August|September|October|November|December)" +for slug, items in d.items(): + shared = {} + for it in items: + if it["links"]: shared[norm(it["links"][0])] = shared.get(norm(it["links"][0]), 0) + 1 + for n, it in enumerate(items): + heads = [h for h in it["heads"] if h.strip("-– ")] + title0 = heads[0] if heads else "" + meta0 = heads[1] if len(heads) > 1 else "" + primary = it["links"][0] if it["links"] else "" + rows = byurl.get(norm(primary), []) + row = rows[0] if len(rows) == 1 and shared.get(norm(primary), 0) == 1 else None + suspect = [l for l in it["links"][1:] + if norm(l) != norm(primary) and byurl.get(norm(l)) + and all(r is not row for r in byurl[norm(l)])] + if shared.get(norm(primary), 0) > 1: suspect.append(primary + " (shared by several items)") + if row: + loc = clean(uncap_words(row["Location/Publication"])) + date = clean(("" if row["Month"].lower() == "current" else row["Month"]) + " " + ("" if row["Year"] == "current" else row["Year"])) + title = clean(uncap_words(row["Title"])) if words(row["Title"]) else title0 + if re.search(MONTH + r" \d{1,2}, \d{4}", meta0): # keep an exact day date + meta = f"{loc}, {meta0}" if loc.lower() not in meta0.lower() else meta0 + else: + meta = f"{loc}, {date}" if date and date not in loc else loc + else: + title, meta = title0, meta0 + k = key(it["img"]) + out[k] = {"s": slug, "t": title, "m": meta, "h": primary, "fix": bool(suspect)} + review.append([slug, n + 1, title0, meta0, title, meta, "CV" if row else "", primary, "; ".join(suspect)]) +open("refresh-data.js", "w").write("/* Bookshelf captions from Tom's CV — generated by fia-2026-09-27/build-shelf-data.py */\nwindow.TL_SHELVES = " + json.dumps(out, ensure_ascii=False, separators=(",", ":")) + ";\n") +with open("fia-2026-09-27/bookshelf-captions-review.csv", "w", newline="") as f: + w = csv.writer(f); w.writerow(["page","#","title (site)","caption (site)","title (new)","caption (new)","source","link","other links dropped (wrong target)"]); w.writerows(review) +print(len(out), "items;", sum(1 for r in review if r[6]), "from CV;", sum(1 for r in review if r[8]), "with wrong extra links") +for r in review[:3] + [x for x in review if x[0]=="bookshelf_writingsabouttl"][:3] + [x for x in review if x[0]=="elementor-395"][:2] + [x for x in review if x[8]][:3]: + print(" ", r[0][:18], "|", r[4][:60], "|", r[5][:70], "| drop:", r[8].split("/")[-1][:40]) diff --git a/gigs/thomaslawson.com/work-fia-edits/refresh-2026-09-27/fia-2026-09-27/scrape-shelves.py b/gigs/thomaslawson.com/work-fia-edits/refresh-2026-09-27/fia-2026-09-27/scrape-shelves.py new file mode 100644 index 0000000000..b3e0479d01 --- /dev/null +++ b/gigs/thomaslawson.com/work-fia-edits/refresh-2026-09-27/fia-2026-09-27/scrape-shelves.py @@ -0,0 +1,36 @@ +# scrape-shelves.py — every Bookshelf detail item (image widget + the headings after it, up to the +# next image), matched to Tom's CV only by an exact link match (TL-site PDF or article URL). +import csv, json, re, urllib.request, html as H +SLUGS = ["bookshelf_afterall","bookshelf_artforum","bookshelf_eastofborneo","bookshelf_writingsabouttl", + "bookshelf-anthologies","bookshelf-reallife","elementor-1796","elementor-395"] +def get(u): return urllib.request.urlopen(urllib.request.Request(u, headers={"User-Agent":"Mozilla/5.0"}), timeout=60).read().decode() +def norm(u): return re.sub(r"[?#].*$","",H.unescape(u or "").strip()).rstrip("/").replace("http://","https://").replace("://www.","://").lower() +def txt(s): return re.sub(r"\s+"," ",H.unescape(re.sub(r"<[^>]+>","",s))).strip() +cv = list(csv.DictReader(open("fia-2026-09-27/tl-cv.csv"))) +byurl = {} +for r in cv: + for k in ("Page on TL site (sometimes PDF)","Website(s)"): + for u in re.split(r"\s+", r[k] or ""): + if u.startswith("http"): byurl.setdefault(norm(u), []).append(r) +out = {} +for slug in SLUGS: + h = get(f"https://www.thomaslawson.com/{slug}/") + body = h[h.find('
3%*kJ6I=Klzco8%=onNN6EAVU$tO0xrd<}
zUMOn+$P2S?(-tMx%YI`|e>x%JT~7A;
zAg0xqS#p%}RyR0B-&`thrZ`<_1ILvI8{fQ;efLah)7?q^-29u%Ry7&CE@MdMnfftq
za`D_~_p8tEWN*L1BeOQ{``4R>)^EN)6`HxOZE9z)bz0*(iygtw9%=0nTlZ3
/i).forEach(function (seg) {
+ var tmp = document.createElement('span'); tmp.innerHTML = seg;
+ var plain = clean(tmp.textContent);
+ if (plain) parts.push({ html: seg.trim(), text: plain, italic: !!tmp.querySelector('i, em') });
+ });
+ });
+ if (!parts.length) return;
+ var title = '', year = '', rest = [];
+ var first = parts[0];
+ var m = first.text.match(/^(.*?),\s*((?:c\.\s*)?\d{4}(?:\s*[-–]\s*\d{2,4})?)\s*$/);
+ if (m) { title = m[1]; year = m[2]; rest = parts.slice(1); }
+ else {
+ title = first.text;
+ var y = parts[1] && parts[1].text.match(/^((?:c\.\s*)?\d{4}(?:\s*[-–]\s*\d{2,4})?)$/);
+ if (y) { year = y[1]; rest = parts.slice(2); } else rest = parts.slice(1);
+ }
+ var cap = document.createElement('p');
+ cap.className = 'tl-cap';
+ var t = document.createElement('span');
+ t.className = 'tl-cap-title';
+ var i = document.createElement('i');
+ i.textContent = title;
+ t.appendChild(i);
+ if (year) t.appendChild(document.createTextNode(', ' + year));
+ cap.appendChild(t);
+ rest.forEach(function (r) {
+ var sp = document.createElement('span');
+ sp.className = 'tl-cap-detail';
+ sp.textContent = r.text.replace(/\s+[xX]\s+/g, ' × ');
+ cap.appendChild(sp);
+ });
+ /* Inside the image widget, so the caption starts at the picture's edge. */
+ var holder = group.image.querySelector('.elementor-widget-container') || group.image;
+ holder.appendChild(cap);
+ group.heads.forEach(function (h) { h.closest('.elementor-widget').classList.add('tl-cap-source'); });
+ }
+ all.forEach(function (w) {
+ if (w.closest('.elementor-top-section') === wp.querySelector(':scope > .elementor-top-section')) return;
+ if (w.classList.contains('elementor-widget-image')) { flush(); group = { heads: [], image: w }; }
+ else if (group) {
+ var h = w.querySelector('.elementor-heading-title');
+ if (h && clean(h.textContent)) group.heads.push(h);
+ }
+ });
+ flush();
+ }
})();