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>
parent
04408e7f
No related branches found
No related tags found
Showing
- content/designs/application-bundle-metadata.md 7 additions, 6 deletionscontent/designs/application-bundle-metadata.md
- content/designs/application-entry-points.md 7 additions, 6 deletionscontent/designs/application-entry-points.md
- content/designs/application-framework.md 7 additions, 9 deletionscontent/designs/application-framework.md
- content/designs/application-layout.md 7 additions, 6 deletionscontent/designs/application-layout.md
- content/designs/applications.md 7 additions, 8 deletionscontent/designs/applications.md
- content/designs/audio-management.md 7 additions, 7 deletionscontent/designs/audio-management.md
- content/designs/automated-license-compliance.md 7 additions, 6 deletionscontent/designs/automated-license-compliance.md
- content/designs/canterbury-legacy-application-framework.md 7 additions, 7 deletionscontent/designs/canterbury-legacy-application-framework.md
- content/designs/case-for-moving-to-debian.md 6 additions, 6 deletionscontent/designs/case-for-moving-to-debian.md
- content/designs/closing-ci-loop.md 7 additions, 6 deletionscontent/designs/closing-ci-loop.md
- content/designs/clutter.md 7 additions, 6 deletionscontent/designs/clutter.md
- content/designs/coding_conventions.md 2 additions, 0 deletionscontent/designs/coding_conventions.md
- content/designs/connectivity-documentation.md 7 additions, 6 deletionscontent/designs/connectivity-documentation.md
- content/designs/connectivity.md 7 additions, 6 deletionscontent/designs/connectivity.md
- content/designs/contacts.md 7 additions, 8 deletionscontent/designs/contacts.md
- content/designs/contribution-checklist.md 2 additions, 0 deletionscontent/designs/contribution-checklist.md
- content/designs/contribution-process.md 2 additions, 0 deletionscontent/designs/contribution-process.md
- content/designs/debug-and-logging.md 7 additions, 7 deletionscontent/designs/debug-and-logging.md
- content/designs/encrypted-updates.md 7 additions, 6 deletionscontent/designs/encrypted-updates.md
- content/designs/geolocation-and-navigation.md 7 additions, 6 deletionscontent/designs/geolocation-and-navigation.md
Loading
Please register or sign in to comment