Subject: New web site is on line!

From: [email-masked] (Ludovic Courtès)
Date: Wed, 06 Dec 2017 18:10:48 +0100

Hello!

It’s embarrassing that it took us so long, but I’m happy to say that the
new web site is on line!

  https://www.gnu.org/software/guix/

I’ve created redirects from the old /news URLs to the new /blog URLs,
using the oh-so-elegant script below (I can’t believe it’s not Scheme!).

Please report:

  • broken links;

  • other pages that need a redirect;

  • information that disappeared—I’m thinking in particular of talks,
    which used to appear under /help, but are now supposed to be made
    available via a blog post, the advantage being that we get
    /blog/tag/TOPIC links to the post;

  • anything else that’s broken.

For web design issues, I hope sirgazil or someone else can answer and
take action—I’m still not much of a web person and it’s probably better
for everyone when I stick to writing Scheme.  ;-)

Note that the cron job that used to update package pages from
hydra.gnu.org is now broken.  I’ll try to come up with something else
with proper GuixSD integration and run it from berlin.guixsd.org.

Thanks again sirgazil for all the work!

Ludo’.

#!/bin/sh

function gen_redirect
{
    TARGET_URL="$1"
    cat <<EOF
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Page has moved! — GNU Guix</title>
    <noscript><meta http-equiv="refresh" content="0; url=$TARGET_URL"></noscript>
  </head>
  <body onload="window.location = '$TARGET_URL';">
    Redirecting to the new page location...
  </body>
</html>
EOF
}

URL_PREFIX="/software/guix/"

for page in "$@"
do
    page_without_extension="`echo $page | sed -es'/\.html$//g'`"
    new_page="`find ../blog -name $page_without_extension -type d | head -1`"
    if [ -z "$new_page" ]
    then
	echo "no new page for '$page'" >&2
	exit 1
    fi

    # Strip '../'.
    new_page_url="$URL_PREFIX`echo $new_page | cut -c 4-`"

    echo "redirect '$page' -> '$new_page_url'"
    gen_redirect "$new_page_url" > "$page".new && mv "$page".new "$page"
done