Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vtW1v-00CR6W-1I for pgsql-www@arkaria.postgresql.org; Fri, 20 Feb 2026 19:19:11 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vtW1u-00952V-15 for pgsql-www@arkaria.postgresql.org; Fri, 20 Feb 2026 19:19:10 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vtW1u-00952N-0N for pgsql-www@lists.postgresql.org; Fri, 20 Feb 2026 19:19:10 +0000 Received: from mail-yx1-xb133.google.com ([2607:f8b0:4864:20::b133]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vtW1q-00000000QWb-49R1 for pgsql-www@postgresql.org; Fri, 20 Feb 2026 19:19:09 +0000 Received: by mail-yx1-xb133.google.com with SMTP id 956f58d0204a3-649db2b6cdcso2148321d50.0 for ; Fri, 20 Feb 2026 11:19:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1771615145; cv=none; d=google.com; s=arc-20240605; b=iBgWcDYJP2gsZ96SjoEMwrvkqmfPLYCfdLWWYjTQ2YGdzTzf8avxcdyGlTxqHh3sX1 BPnAoGQFKhwLzRwNSfEtWZPbMUzMXVPa2KZOAkV3onEz4ZIHLV/bH9Tcu+DdZBsko0YL g4v0xgShtujCxAShKv7y/pJ18Zcl5Cr7HWlihHa22Q2qALbrg+0UmLnXmlvP61ZDlVzV 9gYi3u4H1oXCiORXMUz1+PXyGRM1K52lIttXm8twqcpwXs2fK+9nKdBOVa8Fi0nDiZTj vc/Qt//wrTdHjtMFaI9stUXEiQ4lJS3iRMqs6Sq6OYO6nzFV1pBmKsH6OlX+zFZq8/IR RqHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=D4wj15twi024e1s7Mq2AaHUJlrUDPhAlixbluJbSzAI=; fh=e1AZXDyduUUqY5FaeDQLiq4a6NqYcmQCLLelwsZaCTk=; b=C5prGmglRDxy1Z3x79LeMvosuh9kKwj3cWWGvRGefJvoP4hCcyLrGheEzdazbzAAid gn7jF6ln8T7Vyz29/9iks4LTe1hgBy6fhw0fDpimHrPI9GQITrChSwhRfu1Ftdg1yrU/ G6sOvbv7EfDupJ3frv/HoVTRbeOUm0W+Y/sLvQ8YW4zLkEWcuxL3L0UkJjGd5MK7fkW3 yQER8v0OfowZJGZV3qehfiVDN8ofqfgBZOlmTeHZIOh8hw1TBWEoBgpnBhVF+Nu2Qfd4 +O0CHn22V9qq1n54OLGBQ+HjHPvuLzms+YtKWPsmG9Y2I5rAZGBbJA0Ng/bCQ4l5Smqh /EOA==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hagander.net; s=mail; t=1771615145; x=1772219945; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=D4wj15twi024e1s7Mq2AaHUJlrUDPhAlixbluJbSzAI=; b=ToZAZzthr6ExWRBXe2XiE0+IMvXWNKuWCyTOc4lu+ba3h91Eto7IVdmiypmOM2qJI2 gfIN17Sz/zWXpGhQ/tmer4WGusBNwIUgivsJNLTykvIxHbV/IdlYKPMuYg0OEADDxE3h G97lvWtFCovEMLW9X9Lfjs+KlNzvKt+c1sG9e7bVUDAeTR27fCrjn49RRddAW5e8berc nvkeHnWXJIeksPepoAGvUJKTZSOsf0cV8NU850Y/TPZNGFHscN6gMTlHEbsWx6QhC20c lh5zzBU+rq5BjLOXYgJk2/posYDEw/B89dr001MJ2htCMdUkPnjyGPLTFoNByksis2It WP2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771615145; x=1772219945; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=D4wj15twi024e1s7Mq2AaHUJlrUDPhAlixbluJbSzAI=; b=DgJpyuJh06GLfP13BKjW2nHkf+7ctKkeJKaXQEViUPlFU1jAK7Rhv4PdR/vIXoe0vA bha9EIVWbhlNUIyc/lb6pYzluA7P8MqHIOa/TkUAKIRu2aKZkLsiXQKd58Zv1tdXmrWK Cg4QNrCY8TEJ4iJz5K/CCPaAd1MbaBbvbYjTQI88jXAXVUk7aRCgzna4ILXd8TCBsziz kQq+LeXzt1bV/zqiW26JMPM02hmI0PPSVCFeGGh2n7NYcPZOZb+adZOHQ8vM0En31X23 E7olIDRiVLicHyS86zRrBq2i7qzh0j+ZrHSbw4QDRoKf2cdrBTp2HXSKbbpw3i1fJr31 4uXQ== X-Forwarded-Encrypted: i=1; AJvYcCUH18XMicL6j8AVhqo5pqbT/wDQiAZl7ET8i/oc512MWli+NqMqTVm0R9OB5z5AVdcjmaTrPGAZPh8=@postgresql.org X-Gm-Message-State: AOJu0Yz0OmlRhjzHfWnNPDe69r7fI9oGXMLKeYOFOgSlzxMTawjulbDv LI6toQtiJHQNsVGmbxvLh3TJnVWlHy4w9k5/VWwJTwlc10pt0Z53srMPlsQJeqfRdVRvBIN+FKy PhnhFHjOS6OuJ+rjt8osr9sy/+OqupJ22hcmBJbZ5 X-Gm-Gg: AZuq6aIXJfiPQRjW3sg+0Lnp6r0AlGtI+sB7viURytIRauSaxvv7ShmsZd7tCwQ9XT9 PHK1gYyRitjsK4B2ffOyJgp/8iwiOuZ7i1mvk4v545LFpd/nucfBHkC1Ttj/Qj+IM3pH3C0/DOJ ErYLhiUKWqXwpZ6u3ZWBZ3p5GVS4dU9QFL6SW2wTpvJNB0jqIBryCXtcp47mEKt2d70ot90W3Q1 gJroIZbMjoMSLb6WiiWhqT+qRyiuxu0oWuA4TeJT+OfWOQVQymA/r0+7RUgqmUdwaKQsQQwIT+n wF6Au/w= X-Received: by 2002:a53:cac8:0:b0:641:f5bc:6950 with SMTP id 956f58d0204a3-64c7906a733mr616723d50.84.1771615145577; Fri, 20 Feb 2026 11:19:05 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Magnus Hagander Date: Fri, 20 Feb 2026 20:18:52 +0100 X-Gm-Features: AaiRm53DebcEtIrG7cqXORedCzNNkCoeOlgk0nv_wh72NI9llRUrmza5X7BdoIw Message-ID: Subject: Re: Fill page when printing archived threads To: Paul A Jungwirth Cc: Christoph Berg , pgsql-www@postgresql.org Content-Type: multipart/alternative; boundary="0000000000006e63c7064b464ba3" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000006e63c7064b464ba3 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, 12 Feb 2026 at 17:11, Paul A Jungwirth wrote: > On Thu, Feb 12, 2026 at 4:05=E2=80=AFAM Magnus Hagander > wrote: > > That's correct, the /list/ namespace is proxied. > > > > The whole handling of templates between them is a mess (one has to > remember to manually copy the base template between two different repos > when changed), and we should really find a better way to handle that. But > that is how it is now. > > > > FWIW, locally I just run pgarchive on a different listener and ignore > that the link in the menu doesn't work and have a bookmark that point > directly to it.b > > Okay, that was pretty much my plan too. > > My initial motivation is to improve printing mailing list archives. So > my patch changes a CSS rule in pgarchive. But when I look at an > example page from the archives [1] vs an example page from the About > section [2] they both reference the same CSS URL [3] (albeit with a > different cache-busting hash). So I'm guessing that really comes from > pgweb? Maybe the CSS files in pgarchives should be removed. Or perhaps > they are convenient for running it in dev? A diff between each > project's main.css shows a lot of differences, so I guess you aren't > syncing them like the base template. > Yeah, I think that's the problem - a lot of fixes have been applied only to one side, and that's led to a lot of divergence over time. > > Are there any big-picture improvements you'd like to make here that I > could help with? For instance maybe pgarchive should be a separate > Django app within the pgweb project. (I think that would likely call > for moving settings.py and wsgi.py to the top level.) Or just roll it > into pgweb entirely. Or if we're keeping them separate, maybe I could > at least write some documentation about how to set up a dev copy of > pgarchives, and how to integrate it with pgweb (copying templates, > sharing css, etc). > We don't want to integrate it to that level, because we have external users of the archives code that don't use pgweb at all. And we have our own private archives, which aren't linked in under the same hostname and runs a completely independent instance. I'm thinking maybe something along the line of having a way to point template directories at pgweb and have it pick up changes from there if they show up, but still operate with built-in templates if iit doesn't. And then we could reduce the built-in ones to not be as heavily postgres branded. And the same for media files like css and js of course. --=20 Magnus Hagander Me: https://www.hagander.net/ Work: https://www.redpill-linpro.com/ --0000000000006e63c7064b464ba3 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Thu, 12 Feb 2026 at 17:11, Paul A Jung= wirth <pj@illuminatedcomp= uting.com> wrote:
On Thu, Feb 12, 2026 = at 4:05=E2=80=AFAM Magnus Hagander <magnus@hagander.net> wrote:
> That's correct, the /list/ namespace is proxied.
>
> The whole handling of templates between them is a mess (one has to rem= ember to manually copy the base template between two different repos when c= hanged), and we should really find a better way to handle that. But that is= how it is now.
>
> FWIW, locally I just run pgarchive on a different listener and ignore = that the link in the menu doesn't work and have a bookmark that point d= irectly to it.b

Okay, that was pretty much my plan too.

My initial motivation is to improve printing mailing list archives. So
my patch changes a CSS rule in pgarchive. But when I look at an
example page from the archives [1] vs an example page from the About
section [2] they both reference the same CSS URL [3] (albeit with a
different cache-busting hash). So I'm guessing that really comes from pgweb? Maybe the CSS files in pgarchives should be removed. Or perhaps
they are convenient for running it in dev? A diff between each
project's main.css shows a lot of differences, so I guess you aren'= t
syncing them like the base template.

Ye= ah, I think that's the problem - a lot of fixes have been applied only = to one side, and that's led to a lot of divergence over time.
=C2=A0

Are there any big-picture improvements you'd like to make here that I could help with? For instance maybe pgarchive should be a separate
Django app within the pgweb project. (I think that would likely call
for moving settings.py and wsgi.py to the top level.) Or just roll it
into pgweb entirely. Or if we're keeping them separate, maybe I could at least write some documentation about how to set up a dev copy of
pgarchives, and how to integrate it with pgweb (copying templates,
sharing css, etc).

We don't want to= integrate it to that level, because we have external users of the archives= code that don't use pgweb at all. And we have our own private archives= , which aren't linked in under the same hostname and runs a completely = independent instance.

I'm thinking maybe somet= hing along the line of having a way to point template directories at pgweb = and have it pick up changes from there if they show up, but still operate w= ith built-in templates if iit doesn't. And then we could reduce the bui= lt-in ones to not be as heavily postgres branded. And the same for media fi= les like css and js of course.

--
=C2=A0Magnus Hagander
=C2=A0Me: https://www.hagander.net/
= =C2=A0Work: ht= tps://www.redpill-linpro.com/
--0000000000006e63c7064b464ba3--