From 6858b9209b94cf335e5fdf9944dbd02fc76c7b49 Mon Sep 17 00:00:00 2001
From: Martyn Welch <martyn.welch@collabora.com>
Date: Mon, 27 Jul 2020 15:35:08 +0100
Subject: [PATCH] Convert hotdoc metadata to Hugo frontmatter

Convert the existing metadata stored at the front of each file to
frontmatter formatted for Hugo:

 - Remove authors as we don't have an equivalent for that in Hugo
 - Add in fields that the existing metadata doesn't have
 - Include aliases to allow us to point to the new pages from a
   redirect on designs.apertis.org
 - Ensure we have a title (based on filename if one not present)

All frontmatter created in toml format to stay consistent with existing
documents.

Converted using the following python script:
```

import os
import re
import sys
import toml
import yaml

for filename in os.listdir(sys.argv[1]):
    print("%s: " % filename)
    with open(filename, 'r+') as file:
        contents = file.read()
        if contents[0:3] == "+++":
            # We have toml
            data = toml.loads(contents.split("+++")[1])
            doc = "+++".join(contents.split("+++")[2:])
        elif contents[0:3] == "---":
            # We have yaml
            data = yaml.load(contents.split("---")[1])
            doc = "---".join(contents.split("---")[2:])
        else:
            # No frontmatter
            data = {}
            doc = contents

        if not "title" in data.keys():
            data["title"] = filename.split(".")[0].replace('_', ' ').capitalize()

        data["weight"] = 100
        data["aliases"] = ["/old-designs/latest/%s" % filename.replace(".md", ".html")]

        data["outputs"] = ["html", "pdf-in"]

        if "authors" in data.keys():
            del data["authors"]

        file.seek(0)
        file.truncate()

        file.write("+++\n")
        file.write(toml.dumps(data))
        file.write("+++")
        file.write(doc)
```

Signed-off-by: Martyn Welch <martyn.welch@collabora.com>
---
 content/designs/application-bundle-metadata.md   | 13 +++++++------
 content/designs/application-entry-points.md      | 13 +++++++------
 content/designs/application-framework.md         | 16 +++++++---------
 content/designs/application-layout.md            | 13 +++++++------
 content/designs/applications.md                  | 15 +++++++--------
 content/designs/audio-management.md              | 14 +++++++-------
 content/designs/automated-license-compliance.md  | 13 +++++++------
 .../canterbury-legacy-application-framework.md   | 14 +++++++-------
 content/designs/case-for-moving-to-debian.md     | 12 ++++++------
 content/designs/closing-ci-loop.md               | 13 +++++++------
 content/designs/clutter.md                       | 13 +++++++------
 content/designs/coding_conventions.md            |  2 ++
 content/designs/connectivity-documentation.md    | 13 +++++++------
 content/designs/connectivity.md                  | 13 +++++++------
 content/designs/contacts.md                      | 15 +++++++--------
 content/designs/contribution-checklist.md        |  2 ++
 content/designs/contribution-process.md          |  2 ++
 content/designs/debug-and-logging.md             | 14 +++++++-------
 content/designs/encrypted-updates.md             | 13 +++++++------
 content/designs/geolocation-and-navigation.md    | 13 +++++++------
 content/designs/global-search.md                 | 14 +++++++-------
 content/designs/hardkeys.md                      | 14 +++++++-------
 content/designs/hwpack-requirements.md           | 13 +++++++------
 content/designs/image-build-infrastructure.md    | 13 +++++++------
 .../infrastructure-maintenance-automation.md     | 13 +++++++------
 content/designs/inter-domain-communication.md    | 16 +++++++---------
 content/designs/internationalization.md          | 16 +++++++---------
 content/designs/jenkins-docker.md                | 13 +++++++------
 content/designs/lava-external-devices.md         | 13 +++++++------
 content/designs/license-applying.md              |  2 ++
 content/designs/license-exceptions.md            | 16 +++++++---------
 content/designs/license-expectations.md          | 16 +++++++---------
 content/designs/license-validation.md            | 13 +++++++------
 content/designs/list.md                          | 16 +++++++---------
 content/designs/long-term-reproducibility.md     | 13 +++++++------
 .../maintaining-workspace-across-sdk-updates.md  | 11 ++++++-----
 content/designs/media-management.md              | 16 +++++++---------
 content/designs/multimedia.md                    | 13 +++++++------
 .../designs/multiuser-transactional-switching.md | 16 +++++++---------
 content/designs/multiuser.md                     | 14 +++++++-------
 content/designs/op-tee.md                        | 13 +++++++------
 content/designs/permissions.md                   | 14 +++++++-------
 content/designs/preferences-and-persistence.md   | 14 +++++++-------
 content/designs/release-flow.md                  | 11 ++++++-----
 content/designs/release-v2019-artifacts.md       | 13 +++++++------
 content/designs/robustness.md                    | 14 +++++++-------
 content/designs/secure-boot.md                   | 12 ++++++------
 content/designs/security.md                      | 15 +++++++--------
 content/designs/sensors-and-actuators.md         | 14 +++++++-------
 content/designs/software-development-kit.md      | 14 +++++++-------
 .../designs/software-distribution-and-updates.md | 15 +++++++--------
 content/designs/supported-api.md                 | 14 +++++++-------
 content/designs/system-updates-and-rollback.md   | 15 +++++++--------
 content/designs/test-data-reporting.md           | 13 +++++++------
 content/designs/test-data-storage.md             | 13 +++++++------
 content/designs/testcase-dependencies.md         | 15 +++++++--------
 content/designs/text-to-speech.md                | 14 +++++++-------
 content/designs/ui-customisation.md              | 14 +++++++-------
 content/designs/upstreaming.md                   |  2 ++
 content/designs/web-engine.md                    | 13 +++++++------
 content/designs/web-portal-caching.md            | 13 +++++++------
 content/designs/x86-build-infrastructure.md      | 13 +++++++------
 62 files changed, 405 insertions(+), 390 deletions(-)

diff --git a/content/designs/application-bundle-metadata.md b/content/designs/application-bundle-metadata.md
index 689e04be8..88cb9d043 100644
--- a/content/designs/application-bundle-metadata.md
+++ b/content/designs/application-bundle-metadata.md
@@ -1,9 +1,10 @@
----
-title: Application bundle metadata
-short-description: Associating arbitrary metadata with entire app-bundles (implemented)
-authors:
-    - name: Simon McVittie
----
++++
+title = "Application bundle metadata"
+short-description = "Associating arbitrary metadata with entire app-bundles (implemented)"
+weight = 100
+aliases = [ "/old-designs/latest/application-bundle-metadata.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Application bundle metadata
 
diff --git a/content/designs/application-entry-points.md b/content/designs/application-entry-points.md
index 32645a055..e69e62699 100644
--- a/content/designs/application-entry-points.md
+++ b/content/designs/application-entry-points.md
@@ -1,9 +1,10 @@
----
-title: Application entry points
-short-description: Launchable programs and menu entries in app bundles (implemented)
-authors:
-    - name: Simon McVittie
----
++++
+title = "Application entry points"
+short-description = "Launchable programs and menu entries in app bundles (implemented)"
+weight = 100
+aliases = [ "/old-designs/latest/application-entry-points.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Application entry points
 
diff --git a/content/designs/application-framework.md b/content/designs/application-framework.md
index bc7957b67..92c01b995 100644
--- a/content/designs/application-framework.md
+++ b/content/designs/application-framework.md
@@ -1,12 +1,10 @@
----
-title: Application Framework
-short-description: Ecosystem, Security, Compositor, Audio Management, Agents,
-                   Flatpak, and much more
-authors:
-    - name: Peter Senna Tschudin
-    - name: Corentin Noël
-    - name: Emanuele Aina
----
++++
+title = "Application Framework"
+short-description = "Ecosystem, Security, Compositor, Audio Management, Agents, Flatpak, and much more"
+weight = 100
+aliases = [ "/old-designs/latest/application-framework.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # The next-gen Apertis application framework
 
diff --git a/content/designs/application-layout.md b/content/designs/application-layout.md
index 722337867..06a6fe1a1 100644
--- a/content/designs/application-layout.md
+++ b/content/designs/application-layout.md
@@ -1,9 +1,10 @@
----
-title: Application layout
-short-description: Layout of files and directories inside an app bundle
-authors:
-    - name: Simon McVittie
----
++++
+title = "Application layout"
+short-description = "Layout of files and directories inside an app bundle"
+weight = 100
+aliases = [ "/old-designs/latest/application-layout.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Application layout
 
diff --git a/content/designs/applications.md b/content/designs/applications.md
index 114db3b59..09fc2bd44 100644
--- a/content/designs/applications.md
+++ b/content/designs/applications.md
@@ -1,11 +1,10 @@
----
-title: Applications
-short-description: Overview of application handling by Apertis
-    (partially-implemented, appstore not available)
-authors:
-    - name: Derek Foreman
-    - name: Simon McVittie
----
++++
+title = "Applications"
+short-description = "Overview of application handling by Apertis (partially-implemented, appstore not available)"
+weight = 100
+aliases = [ "/old-designs/latest/applications.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Applications
 
diff --git a/content/designs/audio-management.md b/content/designs/audio-management.md
index b6ef88cdc..cda06f4a7 100644
--- a/content/designs/audio-management.md
+++ b/content/designs/audio-management.md
@@ -1,10 +1,10 @@
----
-title: Audio management
-short-description: Overview of audio management in Apertis (concept)
-authors:
-    - name: Frederic Dalleau
-    - name: Emanuele Aina
----
++++
+title = "Audio management"
+short-description = "Overview of audio management in Apertis (concept)"
+weight = 100
+aliases = [ "/old-designs/latest/audio-management.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Audio management
 
diff --git a/content/designs/automated-license-compliance.md b/content/designs/automated-license-compliance.md
index 855b7e715..44d13e874 100644
--- a/content/designs/automated-license-compliance.md
+++ b/content/designs/automated-license-compliance.md
@@ -1,9 +1,10 @@
----
-title: Automated License Compliance
-short-description: Automated process for OSS compliance in Apertis
-authors:
-    - name: Martyn Welch
----
++++
+title = "Automated License Compliance"
+short-description = "Automated process for OSS compliance in Apertis"
+weight = 100
+aliases = [ "/old-designs/latest/automated-license-compliance.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Automated License Compliance
 
diff --git a/content/designs/canterbury-legacy-application-framework.md b/content/designs/canterbury-legacy-application-framework.md
index 6e822ff22..fc533b791 100644
--- a/content/designs/canterbury-legacy-application-framework.md
+++ b/content/designs/canterbury-legacy-application-framework.md
@@ -1,10 +1,10 @@
----
-title: Canterbury legacy application framework
-short-description: The obsoleted application framework based on Canterbury and Ribchester
-authors:
-    - name: Emanuele Aina
-    - name: Corentin Noël
----
++++
+title = "Canterbury legacy application framework"
+short-description = "The obsoleted application framework based on Canterbury and Ribchester"
+weight = 100
+aliases = [ "/old-designs/latest/canterbury-legacy-application-framework.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # The Canterbury legacy application framework
 
diff --git a/content/designs/case-for-moving-to-debian.md b/content/designs/case-for-moving-to-debian.md
index cefe7aac9..6f2bd1c9d 100644
--- a/content/designs/case-for-moving-to-debian.md
+++ b/content/designs/case-for-moving-to-debian.md
@@ -1,9 +1,9 @@
----
-title: The case for moving to Debian stretch or Ubuntu 18.04
-authors:
-   - name: Andrej Shadura
-   - name: Sjoerd Simons
----
++++
+title = "The case for moving to Debian stretch or Ubuntu 18.04"
+weight = 100
+aliases = [ "/old-designs/latest/case-for-moving-to-debian.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Why was Apertis based on the Debian/Ubuntu ecosystem
 
diff --git a/content/designs/closing-ci-loop.md b/content/designs/closing-ci-loop.md
index f0b08f960..7eec859b6 100644
--- a/content/designs/closing-ci-loop.md
+++ b/content/designs/closing-ci-loop.md
@@ -1,9 +1,10 @@
----
-title: Closing the Automated Continuous Integration Loop
-short-description: Close the automated CI loop using the existing infrastructure.
-authors:
-    - name: Luis Araujo
----
++++
+title = "Closing the Automated Continuous Integration Loop"
+short-description = "Close the automated CI loop using the existing infrastructure."
+weight = 100
+aliases = [ "/old-designs/latest/closing-ci-loop.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Background
 
diff --git a/content/designs/clutter.md b/content/designs/clutter.md
index 3e5611391..d77471d2a 100644
--- a/content/designs/clutter.md
+++ b/content/designs/clutter.md
@@ -1,9 +1,10 @@
----
-title: Clutter and Multitouch
-short-description: Issues with Clutter (obsolete)
-authors:
-    - name: Tomeu Vizoso
----
++++
+title = "Clutter and Multitouch"
+short-description = "Issues with Clutter (obsolete)"
+weight = 100
+aliases = [ "/old-designs/latest/clutter.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Clutter and Multitouch
 
diff --git a/content/designs/coding_conventions.md b/content/designs/coding_conventions.md
index 082c22153..4fa39a4f4 100644
--- a/content/designs/coding_conventions.md
+++ b/content/designs/coding_conventions.md
@@ -1,6 +1,8 @@
 +++
 title = "Coding Conventions"
 weight = 100
+aliases = [ "/old-designs/latest/coding_conventions.html",]
+outputs = [ "html", "pdf-in",]
 +++
 
 Coding conventions is a nebulous topic, covering code formatting and whitespace,
diff --git a/content/designs/connectivity-documentation.md b/content/designs/connectivity-documentation.md
index 56b977a0a..653f525e5 100644
--- a/content/designs/connectivity-documentation.md
+++ b/content/designs/connectivity-documentation.md
@@ -1,9 +1,10 @@
----
-title: Connectivity documentation
-short-description: Collection of connectivity resources (general-design)
-authors:
-    - name: Gustavo Padovan
----
++++
+title = "Connectivity documentation"
+short-description = "Collection of connectivity resources (general-design)"
+weight = 100
+aliases = [ "/old-designs/latest/connectivity-documentation.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Connectivity documentation
 
diff --git a/content/designs/connectivity.md b/content/designs/connectivity.md
index f40025b64..b0841ba54 100644
--- a/content/designs/connectivity.md
+++ b/content/designs/connectivity.md
@@ -1,9 +1,10 @@
----
-title: Connectivity
-short-description: Connectivity management in Apertis (implemented)
-authors:
-    - name: Gustavo Noronha Silva
----
++++
+title = "Connectivity"
+short-description = "Connectivity management in Apertis (implemented)"
+weight = 100
+aliases = [ "/old-designs/latest/connectivity.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Connectivity
 
diff --git a/content/designs/contacts.md b/content/designs/contacts.md
index a5a0cb249..2807dac29 100644
--- a/content/designs/contacts.md
+++ b/content/designs/contacts.md
@@ -1,11 +1,10 @@
----
-title: Contacts
-short-description: Design for address book contacts in Apertis
-    (partially-implemented, libraries and services need to be glued into
-    an integrated solution)
-authors:
-    - name: Travis Reitter
----
++++
+title = "Contacts"
+short-description = "Design for address book contacts in Apertis (partially-implemented, libraries and services need to be glued into an integrated solution)"
+weight = 100
+aliases = [ "/old-designs/latest/contacts.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Contacts
 
diff --git a/content/designs/contribution-checklist.md b/content/designs/contribution-checklist.md
index 48381d8c0..435ac473a 100644
--- a/content/designs/contribution-checklist.md
+++ b/content/designs/contribution-checklist.md
@@ -1,6 +1,8 @@
 +++
 title = "Submission Checklist"
 weight = 100
+aliases = [ "/old-designs/latest/contribution-checklist.html",]
+outputs = [ "html", "pdf-in",]
 +++
 
 ## Summary
diff --git a/content/designs/contribution-process.md b/content/designs/contribution-process.md
index 02b99fbea..71babb90d 100644
--- a/content/designs/contribution-process.md
+++ b/content/designs/contribution-process.md
@@ -1,6 +1,8 @@
 +++
 title = "Contribution process"
 weight = 100
+aliases = [ "/old-designs/latest/contribution-process.html",]
+outputs = [ "html", "pdf-in",]
 +++
 
 This guide covers the expectations and processes for Apertis developers wishing
diff --git a/content/designs/debug-and-logging.md b/content/designs/debug-and-logging.md
index 5a12af73e..6ead09fc4 100644
--- a/content/designs/debug-and-logging.md
+++ b/content/designs/debug-and-logging.md
@@ -1,10 +1,10 @@
----
-title: Debug and logging
-short-description: Approaches to debugging components of an Apertis system
-    (general-design)
-authors:
-    - name: Philip Withnall
----
++++
+title = "Debug and logging"
+short-description = "Approaches to debugging components of an Apertis system (general-design)"
+weight = 100
+aliases = [ "/old-designs/latest/debug-and-logging.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Debug and logging
 
diff --git a/content/designs/encrypted-updates.md b/content/designs/encrypted-updates.md
index cfb502a9e..7d1d3e9a8 100644
--- a/content/designs/encrypted-updates.md
+++ b/content/designs/encrypted-updates.md
@@ -1,9 +1,10 @@
----
-title: Encrypted updates
-short-description: Offline update support with encrypted bundle
-authors:
-    - name: Frederic Danis
----
++++
+title = "Encrypted updates"
+short-description = "Offline update support with encrypted bundle"
+weight = 100
+aliases = [ "/old-designs/latest/encrypted-updates.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Encrypted updates
 
diff --git a/content/designs/geolocation-and-navigation.md b/content/designs/geolocation-and-navigation.md
index d9775dbd3..e4468dedf 100644
--- a/content/designs/geolocation-and-navigation.md
+++ b/content/designs/geolocation-and-navigation.md
@@ -1,9 +1,10 @@
----
-title: Geolocation and navigation
-short-description: Existing solutions for geo-related services (implemented)
-authors:
-    - name: Philip Withnall
----
++++
+title = "Geolocation and navigation"
+short-description = "Existing solutions for geo-related services (implemented)"
+weight = 100
+aliases = [ "/old-designs/latest/geolocation-and-navigation.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Geolocation and navigation
 
diff --git a/content/designs/global-search.md b/content/designs/global-search.md
index 8865ed6d2..6be4252f6 100644
--- a/content/designs/global-search.md
+++ b/content/designs/global-search.md
@@ -1,10 +1,10 @@
----
-title: Global search
-short-description: Guidelines for implementing a global search system
-    (unimplemented)
-authors:
-    - name: Derek Foreman
----
++++
+title = "Global search"
+short-description = "Guidelines for implementing a global search system (unimplemented)"
+weight = 100
+aliases = [ "/old-designs/latest/global-search.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Global search
 
diff --git a/content/designs/hardkeys.md b/content/designs/hardkeys.md
index cedf889af..fd93f388d 100644
--- a/content/designs/hardkeys.md
+++ b/content/designs/hardkeys.md
@@ -1,10 +1,10 @@
----
-title: Hard keys
-short-description: Hardware keys (volume controls, home screen button ...)
-    (implemented)
-authors:
-    - name: Sjoerd Simons
----
++++
+title = "Hard keys"
+short-description = "Hardware keys (volume controls, home screen button ...) (implemented)"
+weight = 100
+aliases = [ "/old-designs/latest/hardkeys.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Definition
 
diff --git a/content/designs/hwpack-requirements.md b/content/designs/hwpack-requirements.md
index 846558239..bc2e07751 100644
--- a/content/designs/hwpack-requirements.md
+++ b/content/designs/hwpack-requirements.md
@@ -1,9 +1,10 @@
----
-title: HWpack Requirements
-short-description: HWpack implementation requirements and considerations.
-authors:
-    - name: Martyn Welch
----
++++
+title = "HWpack Requirements"
+short-description = "HWpack implementation requirements and considerations."
+weight = 100
+aliases = [ "/old-designs/latest/hwpack-requirements.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # HWpack Requirements
 
diff --git a/content/designs/image-build-infrastructure.md b/content/designs/image-build-infrastructure.md
index 93f59fb98..5b86b51c5 100644
--- a/content/designs/image-build-infrastructure.md
+++ b/content/designs/image-build-infrastructure.md
@@ -1,9 +1,10 @@
----
-title: Image building infrastructure
-short-description: Overview of the image build infrastructure for Apertis
-authors:
-    - name: Sjoerd Simons
----
++++
+title = "Image building infrastructure"
+short-description = "Overview of the image build infrastructure for Apertis"
+weight = 100
+aliases = [ "/old-designs/latest/image-build-infrastructure.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Apertis image build infrastructure overview
 
diff --git a/content/designs/infrastructure-maintenance-automation.md b/content/designs/infrastructure-maintenance-automation.md
index 4791fe2f1..402e6705d 100644
--- a/content/designs/infrastructure-maintenance-automation.md
+++ b/content/designs/infrastructure-maintenance-automation.md
@@ -1,9 +1,10 @@
----
-title: Infrastructure maintenance automation
-short-description: Requirements and plans for automating the Apertis infrastructure maintenance
-authors:
-    - name: Emanuele Aina
----
++++
+title = "Infrastructure maintenance automation"
+short-description = "Requirements and plans for automating the Apertis infrastructure maintenance"
+weight = 100
+aliases = [ "/old-designs/latest/infrastructure-maintenance-automation.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Infrastructure maintenance automation
 
diff --git a/content/designs/inter-domain-communication.md b/content/designs/inter-domain-communication.md
index 43a1675f0..9a452ed0a 100644
--- a/content/designs/inter-domain-communication.md
+++ b/content/designs/inter-domain-communication.md
@@ -1,12 +1,10 @@
----
-title: Inter-domain communication
-short-description: Suggested design for an inter-domain communication system
-    (proof-of-concept)
-authors:
-    - name: Philip Withnall
-    - name: Robert Foss
-    - name: Justin Kim
----
++++
+title = "Inter-domain communication"
+short-description = "Suggested design for an inter-domain communication system (proof-of-concept)"
+weight = 100
+aliases = [ "/old-designs/latest/inter-domain-communication.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Inter-domain communication
 
diff --git a/content/designs/internationalization.md b/content/designs/internationalization.md
index 46e6afb16..a47a26b7c 100644
--- a/content/designs/internationalization.md
+++ b/content/designs/internationalization.md
@@ -1,12 +1,10 @@
----
-title: Internationalization
-short-description: Internationalization and localization in Apertis
-    (partially-implemented, no support for switching applications
-    without restarting them)
-authors:
-    - name: Tomeu Vizoso
-    - name: Philip Withnall
----
++++
+title = "Internationalization"
+short-description = "Internationalization and localization in Apertis (partially-implemented, no support for switching applications without restarting them)"
+weight = 100
+aliases = [ "/old-designs/latest/internationalization.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Internationalization
 
diff --git a/content/designs/jenkins-docker.md b/content/designs/jenkins-docker.md
index 569bb9455..641ce382e 100644
--- a/content/designs/jenkins-docker.md
+++ b/content/designs/jenkins-docker.md
@@ -1,9 +1,10 @@
----
-title: Jenkins and Docker
-short-description: Standardizing on Docker as the environment for Jenkins jobs
-authors:
-    - name: Emanuele Aina
----
++++
+title = "Jenkins and Docker"
+short-description = "Standardizing on Docker as the environment for Jenkins jobs"
+weight = 100
+aliases = [ "/old-designs/latest/jenkins-docker.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Jenkins and Docker
 
diff --git a/content/designs/lava-external-devices.md b/content/designs/lava-external-devices.md
index efc461d90..22ca3bbd2 100644
--- a/content/designs/lava-external-devices.md
+++ b/content/designs/lava-external-devices.md
@@ -1,9 +1,10 @@
----
-title: LAVA External Device Monitoring
-short-description: LAVA test monitoring for external devices
-authors:
-    - name: Luis Araujo
----
++++
+title = "LAVA External Device Monitoring"
+short-description = "LAVA test monitoring for external devices"
+weight = 100
+aliases = [ "/old-designs/latest/lava-external-devices.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # LAVA External Device Monitoring
 
diff --git a/content/designs/license-applying.md b/content/designs/license-applying.md
index a4ef865a1..4d4d4c3c8 100644
--- a/content/designs/license-applying.md
+++ b/content/designs/license-applying.md
@@ -1,6 +1,8 @@
 +++
 title = "Applying Licensing"
 weight = 100
+aliases = [ "/old-designs/latest/license-applying.html",]
+outputs = [ "html", "pdf-in",]
 +++
 
 Apertis code, including build scripts, helpers and recipes, is licensed under the
diff --git a/content/designs/license-exceptions.md b/content/designs/license-exceptions.md
index aff3a3fd9..9966386db 100644
--- a/content/designs/license-exceptions.md
+++ b/content/designs/license-exceptions.md
@@ -1,12 +1,10 @@
----
-title: Apertis License exceptions
-short-description: Document license exceptions for projects in Apertis
-authors:
-    - name: Andrej Shadura
-    - name: Emanuele Aina
-    - name: Frederic Dalleau
-    - name: Sjoerd Simons
----
++++
+title = "Apertis License exceptions"
+short-description = "Document license exceptions for projects in Apertis"
+weight = 100
+aliases = [ "/old-designs/latest/license-exceptions.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # License exceptions
 
diff --git a/content/designs/license-expectations.md b/content/designs/license-expectations.md
index 5a84cb421..7cb30cd2c 100644
--- a/content/designs/license-expectations.md
+++ b/content/designs/license-expectations.md
@@ -1,12 +1,10 @@
----
-title: Open source License expectations
-short-description: Document license obligations for projects in Apertis
-authors:
-    - name: Emanuele Aina
-    - name: Frederic Dalleau
-    - name: Sjoerd Simons
-    - name: Peter Senna Tschudin
----
++++
+title = "Open source License expectations"
+short-description = "Document license obligations for projects in Apertis"
+weight = 100
+aliases = [ "/old-designs/latest/license-expectations.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # License expectations
 
diff --git a/content/designs/license-validation.md b/content/designs/license-validation.md
index 5f478a1f8..df1c0ed99 100644
--- a/content/designs/license-validation.md
+++ b/content/designs/license-validation.md
@@ -1,9 +1,10 @@
----
-title: License validation
-short-description: Design proposal for source licenses validation
-authors:
-    - name: Héctor Orón Martínez
----
++++
+title = "License validation"
+short-description = "Design proposal for source licenses validation"
+weight = 100
+aliases = [ "/old-designs/latest/license-validation.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # License validation
 
diff --git a/content/designs/list.md b/content/designs/list.md
index ba379e48a..9b30f54ac 100644
--- a/content/designs/list.md
+++ b/content/designs/list.md
@@ -1,12 +1,10 @@
----
-title: List design
-short-description: Architecture and API design for the list widgets in Apertis
-    (unimplemented)
-authors:
-    - name: Jonny Lamb
-    - name: Mathieu Duponchelle
-    - name: Philip Withnall
----
++++
+title = "List design"
+short-description = "Architecture and API design for the list widgets in Apertis (unimplemented)"
+weight = 100
+aliases = [ "/old-designs/latest/list.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # List design
 
diff --git a/content/designs/long-term-reproducibility.md b/content/designs/long-term-reproducibility.md
index f180840cf..95695619c 100644
--- a/content/designs/long-term-reproducibility.md
+++ b/content/designs/long-term-reproducibility.md
@@ -1,9 +1,10 @@
----
-title: Long term reproducibility
-short-description: Approaches for supporting Apertis-based products in the long term
-authors:
-    - name: Emanuele Aina
----
++++
+title = "Long term reproducibility"
+short-description = "Approaches for supporting Apertis-based products in the long term"
+weight = 100
+aliases = [ "/old-designs/latest/long-term-reproducibility.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Background
 
diff --git a/content/designs/maintaining-workspace-across-sdk-updates.md b/content/designs/maintaining-workspace-across-sdk-updates.md
index 0cb9033d3..8f591d13f 100644
--- a/content/designs/maintaining-workspace-across-sdk-updates.md
+++ b/content/designs/maintaining-workspace-across-sdk-updates.md
@@ -1,8 +1,9 @@
----
-title: Maintaining workspace across SDK updates
-authors:
-    - name: Andre Moreira Magalhaes
----
++++
+title = "Maintaining workspace across SDK updates"
+weight = 100
+aliases = [ "/old-designs/latest/maintaining-workspace-across-sdk-updates.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Background
 
diff --git a/content/designs/media-management.md b/content/designs/media-management.md
index d32776b9e..d3e057bb8 100644
--- a/content/designs/media-management.md
+++ b/content/designs/media-management.md
@@ -1,12 +1,10 @@
----
-title: Media management
-short-description: Management (indexing, browsing) of media content
-    (partially-implemented, libraries and services need to be glued into an
-    integrated solution)
-authors:
-    - name: Mateu Batle
-    - name: Sjoerd Simons
----
++++
+title = "Media management"
+short-description = "Management (indexing, browsing) of media content (partially-implemented, libraries and services need to be glued into an integrated solution)"
+weight = 100
+aliases = [ "/old-designs/latest/media-management.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Media management
 
diff --git a/content/designs/multimedia.md b/content/designs/multimedia.md
index ed48b04bc..ce9b71279 100644
--- a/content/designs/multimedia.md
+++ b/content/designs/multimedia.md
@@ -1,9 +1,10 @@
----
-title: Multimedia
-short-description: Requirements for multimedia handling (general-design)
-authors:
-    - name: Edward Hervey
----
++++
+title = "Multimedia"
+short-description = "Requirements for multimedia handling (general-design)"
+weight = 100
+aliases = [ "/old-designs/latest/multimedia.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Multimedia
 
diff --git a/content/designs/multiuser-transactional-switching.md b/content/designs/multiuser-transactional-switching.md
index 306313648..3eb955bb7 100644
--- a/content/designs/multiuser-transactional-switching.md
+++ b/content/designs/multiuser-transactional-switching.md
@@ -1,12 +1,10 @@
----
-title: Multiuser transactional switching
-short-description: Technical analysis and recommendations
-    (general-design)
-authors:
-    - name: Simon McVittie
-    - name: Gustavo Noronha
-    - name: Tomeu Vizoso
----
++++
+title = "Multiuser transactional switching"
+short-description = "Technical analysis and recommendations (general-design)"
+weight = 100
+aliases = [ "/old-designs/latest/multiuser-transactional-switching.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Multiuser transactional switching
 
diff --git a/content/designs/multiuser.md b/content/designs/multiuser.md
index 75ec78432..4216cf3c8 100644
--- a/content/designs/multiuser.md
+++ b/content/designs/multiuser.md
@@ -1,10 +1,10 @@
----
-title: Multiuser
-short-description: Guide and recommendations to help designing the multiuser system
-    (general-design)
-authors:
-    - name: Simon McVittie
----
++++
+title = "Multiuser"
+short-description = "Guide and recommendations to help designing the multiuser system (general-design)"
+weight = 100
+aliases = [ "/old-designs/latest/multiuser.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Multiuser
 
diff --git a/content/designs/op-tee.md b/content/designs/op-tee.md
index a43d6eb5c..fb84a4ff5 100644
--- a/content/designs/op-tee.md
+++ b/content/designs/op-tee.md
@@ -1,9 +1,10 @@
----
-title: OP-TEE integration
-short-description: Discussing and detailing an approach to the integration of OP-TEE as a Trusted execution environment
-authors:
-    - name: Martyn Welch
----
++++
+title = "OP-TEE integration"
+short-description = "Discussing and detailing an approach to the integration of OP-TEE as a Trusted execution environment"
+weight = 100
+aliases = [ "/old-designs/latest/op-tee.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Integration of OP-TEE in Apertis
 
diff --git a/content/designs/permissions.md b/content/designs/permissions.md
index 759557bb9..badb1e4c0 100644
--- a/content/designs/permissions.md
+++ b/content/designs/permissions.md
@@ -1,10 +1,10 @@
----
-title: Permissions
-short-description: Assigning security rules from declarative metadata
-    (unimplemented)
-authors:
-    - name: Simon McVittie
----
++++
+title = "Permissions"
+short-description = "Assigning security rules from declarative metadata (unimplemented)"
+weight = 100
+aliases = [ "/old-designs/latest/permissions.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Permissions
 
diff --git a/content/designs/preferences-and-persistence.md b/content/designs/preferences-and-persistence.md
index a6af7534f..48a965691 100644
--- a/content/designs/preferences-and-persistence.md
+++ b/content/designs/preferences-and-persistence.md
@@ -1,10 +1,10 @@
----
-title: Preferences and persistence
-short-description: Preferences and persistent data storage for applications and services
-    (implemented)
-authors:
-    - name: Philip Withnall
----
++++
+title = "Preferences and persistence"
+short-description = "Preferences and persistent data storage for applications and services (implemented)"
+weight = 100
+aliases = [ "/old-designs/latest/preferences-and-persistence.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Preferences and persistence
 
diff --git a/content/designs/release-flow.md b/content/designs/release-flow.md
index f8e320374..a776f2b33 100644
--- a/content/designs/release-flow.md
+++ b/content/designs/release-flow.md
@@ -1,8 +1,9 @@
----
-title: Release flow and product lines
-authors:
-   - name: Sjoerd Simons
----
++++
+title = "Release flow and product lines"
+weight = 100
+aliases = [ "/old-designs/latest/release-flow.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Introduction
 
diff --git a/content/designs/release-v2019-artifacts.md b/content/designs/release-v2019-artifacts.md
index 63cac46f6..739016e3d 100644
--- a/content/designs/release-v2019-artifacts.md
+++ b/content/designs/release-v2019-artifacts.md
@@ -1,9 +1,10 @@
----
-title: Release artifacts for Apertis v2019 [draft]
-short-description: Draft of the artifacts planned for the Apertis v2019 release
-authors:
-   - name: Emanuele Aina
----
++++
+title = "Release artifacts for Apertis v2019 [draft]"
+short-description = "Draft of the artifacts planned for the Apertis v2019 release"
+weight = 100
+aliases = [ "/old-designs/latest/release-v2019-artifacts.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Introduction
 
diff --git a/content/designs/robustness.md b/content/designs/robustness.md
index e54d68a1e..27e131775 100644
--- a/content/designs/robustness.md
+++ b/content/designs/robustness.md
@@ -1,10 +1,10 @@
----
-title: Robustness
-short-description: Dealing with loss of functionality
-    (partially-implemented)
-authors:
-    - name: Tomeu Vizoso
----
++++
+title = "Robustness"
+short-description = "Dealing with loss of functionality (partially-implemented)"
+weight = 100
+aliases = [ "/old-designs/latest/robustness.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Robustness
 
diff --git a/content/designs/secure-boot.md b/content/designs/secure-boot.md
index 375c9ab23..fa9b44747 100644
--- a/content/designs/secure-boot.md
+++ b/content/designs/secure-boot.md
@@ -1,9 +1,9 @@
----
-title: Apertis secure boot
-authors:
-  - name: Sjoerd Simons
-  - name: Denis Pynkin
----
++++
+title = "Apertis secure boot"
+weight = 100
+aliases = [ "/old-designs/latest/secure-boot.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Apertis secure boot
 
diff --git a/content/designs/security.md b/content/designs/security.md
index bc280dd3a..a3cfd019b 100644
--- a/content/designs/security.md
+++ b/content/designs/security.md
@@ -1,11 +1,10 @@
----
-title: Security
-short-description: Discussing and detailing solutions for the security requirements of the system
-    (general-design)
-authors:
-    - name: Felipe Zimmerle
-    - name: Mateu Batle
----
++++
+title = "Security"
+short-description = "Discussing and detailing solutions for the security requirements of the system (general-design)"
+weight = 100
+aliases = [ "/old-designs/latest/security.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Security
 
diff --git a/content/designs/sensors-and-actuators.md b/content/designs/sensors-and-actuators.md
index 2d423c37c..c07108e8f 100644
--- a/content/designs/sensors-and-actuators.md
+++ b/content/designs/sensors-and-actuators.md
@@ -1,10 +1,10 @@
----
-title: Sensors and actuators
-short-description: Possible approaches for exposing vehicle sensor information and allowing interaction with actuators
-    (implemented)
-authors:
-    - name: Philip Withnall
----
++++
+title = "Sensors and actuators"
+short-description = "Possible approaches for exposing vehicle sensor information and allowing interaction with actuators (implemented)"
+weight = 100
+aliases = [ "/old-designs/latest/sensors-and-actuators.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Sensors and actuators
 
diff --git a/content/designs/software-development-kit.md b/content/designs/software-development-kit.md
index 92ad46435..09dad10e8 100644
--- a/content/designs/software-development-kit.md
+++ b/content/designs/software-development-kit.md
@@ -1,10 +1,10 @@
----
-title: SDK
-short-description: Software Development Kit purpose and design
-    (partially-implemented, no available app validation tool, usability can be improved)
-authors:
-    - name: Travis Reitter
----
++++
+title = "SDK"
+short-description = "Software Development Kit purpose and design (partially-implemented, no available app validation tool, usability can be improved)"
+weight = 100
+aliases = [ "/old-designs/latest/software-development-kit.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Software Development Kit
 
diff --git a/content/designs/software-distribution-and-updates.md b/content/designs/software-distribution-and-updates.md
index 0b3146d91..494a52e13 100644
--- a/content/designs/software-distribution-and-updates.md
+++ b/content/designs/software-distribution-and-updates.md
@@ -1,11 +1,10 @@
----
-title: Software distribution and updates
-short-description: Concepts, requirements, and examples of reliable software
-                   distribution and update systems.
-authors:
-    - name: Peter Senna Tschudin
-    - name: Emanuele Aina
----
++++
+title = "Software distribution and updates"
+short-description = "Concepts, requirements, and examples of reliable software distribution and update systems."
+weight = 100
+aliases = [ "/old-designs/latest/software-distribution-and-updates.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Software distribution and updates
 
diff --git a/content/designs/supported-api.md b/content/designs/supported-api.md
index 572c63b6d..7aa8044f6 100644
--- a/content/designs/supported-api.md
+++ b/content/designs/supported-api.md
@@ -1,10 +1,10 @@
----
-title: Supported API
-short-description: API and API stability challenges and solutions
-    (implemented)
-authors:
-    - name: Gustavo Noronha
----
++++
+title = "Supported API"
+short-description = "API and API stability challenges and solutions (implemented)"
+weight = 100
+aliases = [ "/old-designs/latest/supported-api.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Supported API
 
diff --git a/content/designs/system-updates-and-rollback.md b/content/designs/system-updates-and-rollback.md
index af62ac94c..01f71b239 100644
--- a/content/designs/system-updates-and-rollback.md
+++ b/content/designs/system-updates-and-rollback.md
@@ -1,11 +1,10 @@
----
-title: System updates and rollback
-short-description: Robust updates with fallback (proof-of-concept)
-authors:
-    - name: Gustavo Noronha
-    - name: Frederic Dalleau
-    - name: Emanuele Aina
----
++++
+title = "System updates and rollback"
+short-description = "Robust updates with fallback (proof-of-concept)"
+weight = 100
+aliases = [ "/old-designs/latest/system-updates-and-rollback.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # System updates and rollback
 
diff --git a/content/designs/test-data-reporting.md b/content/designs/test-data-reporting.md
index f9a8760ac..dfb830e48 100644
--- a/content/designs/test-data-reporting.md
+++ b/content/designs/test-data-reporting.md
@@ -1,9 +1,10 @@
----
-title: Test Data Reporting
-short-description: Describe test data reporting and visualization.
-authors:
-    - name: Luis Araujo
----
++++
+title = "Test Data Reporting"
+short-description = "Describe test data reporting and visualization."
+weight = 100
+aliases = [ "/old-designs/latest/test-data-reporting.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Background
 
diff --git a/content/designs/test-data-storage.md b/content/designs/test-data-storage.md
index 32342c9ee..62f6e47de 100644
--- a/content/designs/test-data-storage.md
+++ b/content/designs/test-data-storage.md
@@ -1,9 +1,10 @@
----
-title: Test Data Storage
-short-description: Describe the test data storage backend and processing.
-authors:
-    - name: Luis Araujo
----
++++
+title = "Test Data Storage"
+short-description = "Describe the test data storage backend and processing."
+weight = 100
+aliases = [ "/old-designs/latest/test-data-storage.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Background
 
diff --git a/content/designs/testcase-dependencies.md b/content/designs/testcase-dependencies.md
index e96133fc7..ce2e86cef 100644
--- a/content/designs/testcase-dependencies.md
+++ b/content/designs/testcase-dependencies.md
@@ -1,11 +1,10 @@
----
-title: Test case dependencies on immutable rootfs
-short-description: Ship test case dependencies avoiding changes to the rootfs images.
-authors:
-    - name: Denis Pynkin
-    - name: Emanuele Aina
-    - name: Frederic Dalleau
----
++++
+title = "Test case dependencies on immutable rootfs"
+short-description = "Ship test case dependencies avoiding changes to the rootfs images."
+weight = 100
+aliases = [ "/old-designs/latest/testcase-dependencies.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Test case dependencies on immutable rootfs
 
diff --git a/content/designs/text-to-speech.md b/content/designs/text-to-speech.md
index 5f8f1f100..ffa76d10f 100644
--- a/content/designs/text-to-speech.md
+++ b/content/designs/text-to-speech.md
@@ -1,10 +1,10 @@
----
-title: Text To Speech
-short-description: Documents possible approaches to designing an API for Text To Speech services
-    (unimplemented)
-authors:
-    - name: Philip Withnall
----
++++
+title = "Text To Speech"
+short-description = "Documents possible approaches to designing an API for Text To Speech services (unimplemented)"
+weight = 100
+aliases = [ "/old-designs/latest/text-to-speech.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Text To Speech
 
diff --git a/content/designs/ui-customisation.md b/content/designs/ui-customisation.md
index 246784f9a..dca39bd5f 100644
--- a/content/designs/ui-customisation.md
+++ b/content/designs/ui-customisation.md
@@ -1,10 +1,10 @@
----
-title: UI customisation
-short-description: Abstracting the differences between variants into a UI library
-    (proof-of-concept)
-authors:
-    - name: Jonny Lamb
----
++++
+title = "UI customisation"
+short-description = "Abstracting the differences between variants into a UI library (proof-of-concept)"
+weight = 100
+aliases = [ "/old-designs/latest/ui-customisation.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # UI customisation
 
diff --git a/content/designs/upstreaming.md b/content/designs/upstreaming.md
index 026970fee..b062732db 100644
--- a/content/designs/upstreaming.md
+++ b/content/designs/upstreaming.md
@@ -1,6 +1,8 @@
 +++
 title = "Upstreaming"
 weight = 100
+aliases = [ "/old-designs/latest/upstreaming.html",]
+outputs = [ "html", "pdf-in",]
 +++
 
 Upstreaming changes made to a piece of Open Source software provides distinct
diff --git a/content/designs/web-engine.md b/content/designs/web-engine.md
index 110ba53c9..acac34865 100644
--- a/content/designs/web-engine.md
+++ b/content/designs/web-engine.md
@@ -1,9 +1,10 @@
----
-title: Web engine
-short-description: Notes on the web engine provided by Apertis
-authors:
-    - name: Gustavo Noronha Silva
----
++++
+title = "Web engine"
+short-description = "Notes on the web engine provided by Apertis"
+weight = 100
+aliases = [ "/old-designs/latest/web-engine.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Web engine
 
diff --git a/content/designs/web-portal-caching.md b/content/designs/web-portal-caching.md
index ae53d934a..606ecd742 100644
--- a/content/designs/web-portal-caching.md
+++ b/content/designs/web-portal-caching.md
@@ -1,9 +1,10 @@
----
-title: Web portal caching
-short-description: Analisys of caching strategies for web application portals (general-design)
-authors:
-    - name: Emanuele Aina
----
++++
+title = "Web portal caching"
+short-description = "Analisys of caching strategies for web application portals (general-design)"
+weight = 100
+aliases = [ "/old-designs/latest/web-portal-caching.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Web portal caching
 
diff --git a/content/designs/x86-build-infrastructure.md b/content/designs/x86-build-infrastructure.md
index 1631af6d9..ea4e7a4d3 100644
--- a/content/designs/x86-build-infrastructure.md
+++ b/content/designs/x86-build-infrastructure.md
@@ -1,9 +1,10 @@
----
-title: Build infrastructure on Intel x86-64
-short-description: Hosting the build infrastructure on Intel x86-64-only providers
-authors:
-    - name: Emanuele Aina
----
++++
+title = "Build infrastructure on Intel x86-64"
+short-description = "Hosting the build infrastructure on Intel x86-64-only providers"
+weight = 100
+aliases = [ "/old-designs/latest/x86-build-infrastructure.html",]
+outputs = [ "html", "pdf-in",]
++++
 
 # Build infrastructure on Intel x86-64
 
-- 
GitLab