Add pl to the lang picker.
[enc-live.git] / replace-lang-picker
CommitLineData
b15f36c3
TG
1#!/bin/bash
2
3# Replace the language picker site-wide, using a common source file:
4# "lang-picker-source". The script is called from the root of enc-live.
5# It doesn't take an argument.
6
7set -e
8set -o pipefail
9
10head=$(mktemp -t rt.XXXXXX) || exit 1
11picker=$(mktemp -t rt.XXXXXX) || exit 1
12tail=$(mktemp -t rt.XXXXXX) || exit 1
13trap 'rm -f "$head" "$picker" "$tail"' EXIT
14
15# List all HTML files with a language picker and take them one by one.
16# The regex will select index and workshops.
17find . -regex "\./.*/[iw][no][dr].*\.html" -not -path "./missing/*" |
18sort | sed 's,^\./,,' | while read f; do
19 # Extract the language from the file name.
20 lang=${f%%/*}
21 # Make sure the page is correctly formatted.
22 if grep -q '<ul id="languages" class="os">' $f &&
23 grep -q '<li><strong><a href=.*Translation_Guide">' $f; then
24 # Add the 'current' class to the relevant item of lang-picker-source.
25 sed "s,<li><a href=\"/$lang\">,<li><a class=\"current\" href=\"/$lang\">," \
26 lang-picker-source > $picker
27 # Extract what's before the language picker...
28 sed -n '1,/<ul id="languages" class="os">/p' $f > $head
29 # and what follows it.
30 sed -n '/<li><strong><a href=.*Translation_Guide">/,$p' $f > $tail
31 # Assemble.
32 cat $head $picker $tail > $f
33 else
34 echo " !!! Unable to replace the language picker in $f."
35 exit 1
36 fi
37done
38
39# Commit the changes.
40git add */index.html */workshops.html
0260d901 41#git commit -m "index & workshops: update the language picker."