* Re: [elpa] externals/marginalia 94fc7f0: README: Add ELPA badge [not found] ` <20210530185720.C7394209BF@vcs0.savannah.gnu.org> @ 2021-05-30 19:56 ` Stefan Monnier 2021-05-31 4:56 ` Daniel Mendler 0 siblings, 1 reply; 12+ messages in thread From: Stefan Monnier @ 2021-05-30 19:56 UTC (permalink / raw) To: Daniel Mendler; +Cc: emacs-devel > +#+html: <a href="http://elpa.gnu.org/packages/marginalia.html"><img alt="GNU ELPA" src="https://img.shields.io/badge/GNU%20ELPA-marginalia-bb3955"/></a> Would someone be interested in helping us make elpa.gnu.org serve those "GNU ELPA badges" instead of asking shields.io to do it for us? Stefan ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [elpa] externals/marginalia 94fc7f0: README: Add ELPA badge 2021-05-30 19:56 ` [elpa] externals/marginalia 94fc7f0: README: Add ELPA badge Stefan Monnier @ 2021-05-31 4:56 ` Daniel Mendler 2021-05-31 13:18 ` Daniel Mendler 0 siblings, 1 reply; 12+ messages in thread From: Daniel Mendler @ 2021-05-31 4:56 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel On 5/30/21 9:56 PM, Stefan Monnier wrote: >> +#+html: <a href="http://elpa.gnu.org/packages/marginalia.html"><img alt="GNU ELPA" src="https://img.shields.io/badge/GNU%20ELPA-marginalia-bb3955"/></a> > > Would someone be interested in helping us make elpa.gnu.org serve those > "GNU ELPA badges" instead of asking shields.io to do it for us? The shields.io code is available at https://github.com/badges/shields. It is of course possible to use that svg builder code during the ELPA build process. MELPA accesses shields.io during the build process, see https://github.com/melpa/melpa/blob/master/package-build/package-build-badges.el. Daniel ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [elpa] externals/marginalia 94fc7f0: README: Add ELPA badge 2021-05-31 4:56 ` Daniel Mendler @ 2021-05-31 13:18 ` Daniel Mendler 2021-05-31 14:27 ` Stefan Monnier 0 siblings, 1 reply; 12+ messages in thread From: Daniel Mendler @ 2021-05-31 13:18 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 946 bytes --] On 5/31/21 6:56 AM, Daniel Mendler wrote: >> Would someone be interested in helping us make elpa.gnu.org serve those >> "GNU ELPA badges" instead of asking shields.io to do it for us? > > The shields.io code is available at https://github.com/badges/shields. > It is of course possible to use that svg builder code during the ELPA > build process. MELPA accesses shields.io during the build process, see > https://github.com/melpa/melpa/blob/master/package-build/package-build-badges.el. Stefan, I attached a "badge.sh" script which can be used to generate badges without depending on an external service. It uses imagemagick convert to compute the string width. This script can be used as follows: ./badge.sh "GNU ELPA" "consult 0.8" bb3955 > consult.svg ./badge.sh "nonGNU ELPA" "markdown-mode 2.4" bb3955 > markdown-mode.svg Depending on how the ELPA build process works it may make more sense to convert this to an elisp script? Daniel [-- Attachment #2: badge.sh --] [-- Type: application/x-sh, Size: 1962 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [elpa] externals/marginalia 94fc7f0: README: Add ELPA badge 2021-05-31 13:18 ` Daniel Mendler @ 2021-05-31 14:27 ` Stefan Monnier 2021-06-03 14:42 ` Basil L. Contovounesios 0 siblings, 1 reply; 12+ messages in thread From: Stefan Monnier @ 2021-05-31 14:27 UTC (permalink / raw) To: Daniel Mendler; +Cc: emacs-devel > Stefan, I attached a "badge.sh" script which can be used to generate > badges without depending on an external service. It uses imagemagick > convert to compute the string width. Thanks, that looks like just what we need. > This script can be used as follows: > > ./badge.sh "GNU ELPA" "consult 0.8" bb3955 > consult.svg > ./badge.sh "nonGNU ELPA" "markdown-mode 2.4" bb3955 > markdown-mode.svg > > Depending on how the ELPA build process works it may make more sense to > convert this to an elisp script? You can see the code we use at: http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain/elpa-admin.el?h=elpa-admin In other words it's in the `elpa-admin.el` file in `elpa-admin` branch of the `elpa.git` repository. So yes, using ELisp will make more sense. So we'd want the badge URL used in the `README.(md|org)`s such that the badge indicates the latest version of the package? Stefan ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [elpa] externals/marginalia 94fc7f0: README: Add ELPA badge 2021-05-31 14:27 ` Stefan Monnier @ 2021-06-03 14:42 ` Basil L. Contovounesios 2021-06-03 14:51 ` Daniel Mendler 0 siblings, 1 reply; 12+ messages in thread From: Basil L. Contovounesios @ 2021-06-03 14:42 UTC (permalink / raw) To: Stefan Monnier; +Cc: Daniel Mendler, emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: > So we'd want the badge URL used in the `README.(md|org)`s such that the > badge indicates the latest version of the package? Yes, and thanks for setting up this nice eye candy. Only minor issue is that the new badges don't play well with hosting services that aggressively cache images, such as GitHub: https://github.com/magnars/dash.el Note that the GNU-devel ELPA version trails the corresponding MELPA one due to server-side caching. MELPA seems to solve this by configuring their NGINX web server to serve badges with the HTTP header 'Cache-Control: no-cache': https://github.com/melpa/melpa/pull/2231 https://github.com/melpa/melpa/commit/d75f22a6 https://github.com/melpa/melpa/commit/1834069f $ wget -Sq https://elpa.gnu.org/devel/dash.svg HTTP/1.1 200 OK Date: Thu, 03 Jun 2021 14:27:49 GMT Server: Apache/2.4.38 (Debian) Last-Modified: Wed, 02 Jun 2021 21:02:33 GMT ETag: "522-5c3cec70ecf29" Accept-Ranges: bytes Content-Length: 1314 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: image/svg+xml $ wget -Sq https://melpa.org/packages/dash-badge.svg HTTP/1.1 200 OK Server: nginx Date: Thu, 03 Jun 2021 14:28:05 GMT Content-Type: image/svg+xml Content-Length: 1165 Last-Modified: Thu, 03 Jun 2021 13:27:58 GMT Connection: keep-alive ETag: "60b8d8de-48d" Cache-Control: no-cache Accept-Ranges: bytes Is there someone here with access to GNU ELPA's Apache configuration that would make a similar change? If not, where should this request go? Thanks, -- Basil ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [elpa] externals/marginalia 94fc7f0: README: Add ELPA badge 2021-06-03 14:42 ` Basil L. Contovounesios @ 2021-06-03 14:51 ` Daniel Mendler 2021-06-03 15:16 ` Stefan Monnier 0 siblings, 1 reply; 12+ messages in thread From: Daniel Mendler @ 2021-06-03 14:51 UTC (permalink / raw) To: Basil L. Contovounesios, Stefan Monnier; +Cc: emacs-devel On 6/3/21 4:42 PM, Basil L. Contovounesios wrote: > Only minor issue is that the new badges don't play well with hosting > services that aggressively cache images, such as GitHub: > > https://github.com/magnars/dash.el Thank you for reporting this. I've also noticed this with my packages. One can reset the caching by making a `curl -X PURGE` request to the correct cache url, but this is of course no viable solution. > MELPA seems to solve this by configuring their NGINX web server to serve > badges with the HTTP header 'Cache-Control: no-cache': > > https://github.com/melpa/melpa/pull/2231 > https://github.com/melpa/melpa/commit/d75f22a6 > https://github.com/melpa/melpa/commit/1834069f > > $ wget -Sq https://elpa.gnu.org/devel/dash.svg > HTTP/1.1 200 OK > Date: Thu, 03 Jun 2021 14:27:49 GMT > Server: Apache/2.4.38 (Debian) > Last-Modified: Wed, 02 Jun 2021 21:02:33 GMT > ETag: "522-5c3cec70ecf29" > Accept-Ranges: bytes > Content-Length: 1314 > Keep-Alive: timeout=5, max=100 > Connection: Keep-Alive > Content-Type: image/svg+xml > $ wget -Sq https://melpa.org/packages/dash-badge.svg > HTTP/1.1 200 OK > Server: nginx > Date: Thu, 03 Jun 2021 14:28:05 GMT > Content-Type: image/svg+xml > Content-Length: 1165 > Last-Modified: Thu, 03 Jun 2021 13:27:58 GMT > Connection: keep-alive > ETag: "60b8d8de-48d" > Cache-Control: no-cache > Accept-Ranges: bytes > > Is there someone here with access to GNU ELPA's Apache configuration > that would make a similar change? If not, where should this request go? I was about to suggest something along those lines, but it was not clear to me that "no-cache" is sufficient to disable the aggressive caching. I assume Stefan can adjust the Apache setting to serve *.svg files with "no-cache" from the packages directory. Daniel ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [elpa] externals/marginalia 94fc7f0: README: Add ELPA badge 2021-06-03 14:51 ` Daniel Mendler @ 2021-06-03 15:16 ` Stefan Monnier 2021-06-03 16:07 ` Jean Louis 2021-06-03 23:12 ` chad 0 siblings, 2 replies; 12+ messages in thread From: Stefan Monnier @ 2021-06-03 15:16 UTC (permalink / raw) To: Daniel Mendler; +Cc: Basil L. Contovounesios, emacs-devel >> Is there someone here with access to GNU ELPA's Apache configuration >> that would make a similar change? I do have access, but it's been too many years since the last time I played with Apache's config, so I'd welcome some hand-holding. >> If not, where should this request go? > I was about to suggest something along those lines, but it was not clear > to me that "no-cache" is sufficient to disable the aggressive caching. > I assume Stefan can adjust the Apache setting to serve *.svg files with > "no-cache" from the packages directory. Any change we can use something less aggressive than `no-cache`, e.g. indicate that it should be considered stale after, say, 24h? Stefan ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [elpa] externals/marginalia 94fc7f0: README: Add ELPA badge 2021-06-03 15:16 ` Stefan Monnier @ 2021-06-03 16:07 ` Jean Louis 2021-06-03 23:12 ` chad 1 sibling, 0 replies; 12+ messages in thread From: Jean Louis @ 2021-06-03 16:07 UTC (permalink / raw) To: Stefan Monnier; +Cc: Basil L. Contovounesios, Daniel Mendler, emacs-devel * Stefan Monnier <monnier@iro.umontreal.ca> [2021-06-03 18:17]: > >> Is there someone here with access to GNU ELPA's Apache configuration > >> that would make a similar change? > > I do have access, but it's been too many years since the last time > I played with Apache's config, so I'd welcome some hand-holding. > > >> If not, where should this request go? > > I was about to suggest something along those lines, but it was not clear > > to me that "no-cache" is sufficient to disable the aggressive caching. > > I assume Stefan can adjust the Apache setting to serve *.svg files with > > "no-cache" from the packages directory. > > Any change we can use something less aggressive than `no-cache`, > e.g. indicate that it should be considered stale after, say, 24h? ## EXPIRES CACHING ## <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access plus 1 day" ExpiresByType image/jpeg "access plus 1 day" ExpiresByType image/gif "access plus 1 day" ExpiresByType image/png "access plus 1 day" ExpiresByType text/css "access plus 1 day" ExpiresByType application/pdf "access plus 1 day" ExpiresByType text/x-javascript "access plus 1 day" ExpiresByType application/x-shockwave-flash "access plus 1 day" ExpiresByType image/x-icon "access plus 1 day" ExpiresDefault "access plus 1 day" </IfModule> ## EXPIRES CACHING ## -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [elpa] externals/marginalia 94fc7f0: README: Add ELPA badge 2021-06-03 15:16 ` Stefan Monnier 2021-06-03 16:07 ` Jean Louis @ 2021-06-03 23:12 ` chad 2021-06-09 20:54 ` Stefan Monnier 1 sibling, 1 reply; 12+ messages in thread From: chad @ 2021-06-03 23:12 UTC (permalink / raw) To: Stefan Monnier Cc: Basil L. Contovounesios, Daniel Mendler, EMACS development team [-- Attachment #1: Type: text/plain, Size: 1267 bytes --] On Thu, Jun 3, 2021 at 8:16 AM Stefan Monnier <monnier@iro.umontreal.ca> wrote: > Any change we can use something less aggressive than `no-cache`, > e.g. indicate that it should be considered stale after, say, 24h? > You can try using the s-maxage setting for Cache Control, ala: s-maxage=<seconds> Overrides max-age or the Expires header, but only for shared caches (e.g., proxies). Ignored by private caches. I would definitely test it before investing too much effort; in a past life, I spent waaay too much time dealing with the general internet's understanding/respect for the refinements of communication between clients, servers, proxies, and caches. (tl;dr: The internet is more broken than you expect. Yes, even you, for nearly all values of "you".) If s-maxage doesn't work, you might have more luck with max-age (which I guess is consistent in the number of hyphens?) instead. You should be able to use the Apache "Header" directive, something like: Header set Cache-control "s-maxage=86400, public" put inside the relevant <Directory "/mumble/badges"> or <Filesmatch "\.svg$"> or whatnot wrapper. I haven't actually done this in a very long time, but a quick net-search suggests that it's still basically as functional. Hope this helps, ~Chad [-- Attachment #2: Type: text/html, Size: 1964 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [elpa] externals/marginalia 94fc7f0: README: Add ELPA badge 2021-06-03 23:12 ` chad @ 2021-06-09 20:54 ` Stefan Monnier 2021-06-09 21:41 ` Basil L. Contovounesios 2021-06-10 0:19 ` Jean Louis 0 siblings, 2 replies; 12+ messages in thread From: Stefan Monnier @ 2021-06-09 20:54 UTC (permalink / raw) To: chad; +Cc: Daniel Mendler, Basil L. Contovounesios, EMACS development team > You should be able to use the Apache "Header" directive, something like: > > Header set Cache-control "s-maxage=86400, public" I tried adding <Filesmatch "\.svg$"> Header set Cache-control "s-maxage=86400, public" </Filesmatch> to apache2.conf, but it gave me: ... apachectl[..]: AH00526: Syntax error on line 189 ... apachectl[..]: Invalid command 'Header', perhaps -- Stefan ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [elpa] externals/marginalia 94fc7f0: README: Add ELPA badge 2021-06-09 20:54 ` Stefan Monnier @ 2021-06-09 21:41 ` Basil L. Contovounesios 2021-06-10 0:19 ` Jean Louis 1 sibling, 0 replies; 12+ messages in thread From: Basil L. Contovounesios @ 2021-06-09 21:41 UTC (permalink / raw) To: Stefan Monnier; +Cc: Daniel Mendler, chad, emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: >> You should be able to use the Apache "Header" directive, something like: >> >> Header set Cache-control "s-maxage=86400, public" > > I tried adding > > <Filesmatch "\.svg$"> > Header set Cache-control "s-maxage=86400, public" > </Filesmatch> > > to apache2.conf, but it gave me: > > ... apachectl[..]: AH00526: Syntax error on line 189 > ... apachectl[..]: Invalid command 'Header', perhaps Could it be a missing module? (I've never used Apache.) https://stackoverflow.com/a/34554701/3084001 Thanks, -- Basil ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [elpa] externals/marginalia 94fc7f0: README: Add ELPA badge 2021-06-09 20:54 ` Stefan Monnier 2021-06-09 21:41 ` Basil L. Contovounesios @ 2021-06-10 0:19 ` Jean Louis 1 sibling, 0 replies; 12+ messages in thread From: Jean Louis @ 2021-06-10 0:19 UTC (permalink / raw) To: Stefan Monnier Cc: Basil L. Contovounesios, Daniel Mendler, chad, EMACS development team * Stefan Monnier <monnier@iro.umontreal.ca> [2021-06-09 23:55]: > > You should be able to use the Apache "Header" directive, something like: > > > > Header set Cache-control "s-maxage=86400, public" > > I tried adding > > <Filesmatch "\.svg$"> > Header set Cache-control "s-maxage=86400, public" > </Filesmatch> > > to apache2.conf, but it gave me: > > ... apachectl[..]: AH00526: Syntax error on line 189 > ... apachectl[..]: Invalid command 'Header', perhaps Maybe you have to enable module: https://httpd.apache.org/docs/2.4/mod/mod_cache.html $ a2enmod then enable `headers' and `cache' -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns In support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2021-06-10 0:19 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <20210530185719.10480.76043@vcs0.savannah.gnu.org> [not found] ` <20210530185720.C7394209BF@vcs0.savannah.gnu.org> 2021-05-30 19:56 ` [elpa] externals/marginalia 94fc7f0: README: Add ELPA badge Stefan Monnier 2021-05-31 4:56 ` Daniel Mendler 2021-05-31 13:18 ` Daniel Mendler 2021-05-31 14:27 ` Stefan Monnier 2021-06-03 14:42 ` Basil L. Contovounesios 2021-06-03 14:51 ` Daniel Mendler 2021-06-03 15:16 ` Stefan Monnier 2021-06-03 16:07 ` Jean Louis 2021-06-03 23:12 ` chad 2021-06-09 20:54 ` Stefan Monnier 2021-06-09 21:41 ` Basil L. Contovounesios 2021-06-10 0:19 ` Jean Louis
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).