Skip to content
Snippets Groups Projects
  1. Aug 03, 2020
  2. Jul 29, 2020
    • Martyn Welch's avatar
      Updating old links · ee26b8cf
      Martyn Welch authored and Emanuele Aina's avatar Emanuele Aina committed
      
      After moving the documents from designs.a.o to www.a.o, there were
      quite a few links from the designs.a.o docs pointing to wiki.a.o and
      quite a few links from www.a.o pointing to designs.a.o. Replace these
      links with Hugo ref shortcodes to avoid hammering the redirects.
      
      This was achieved with the following script:
      
      ```
      
      import os
      import re
      import sys
      import toml
      
      from urllib.parse import urlparse
      
      def get_aliases(filename):
          #print("%s: " % filename)
          with open(filename, 'r') as file:
              contents = file.read()
              if not contents[0:3] == "+++":
                  return
      
              if "_index.md" in filename:
                  filename = filename.strip(".")
              else:
                  filename = filename.split("/")[-1]
      
              data = toml.loads(contents.split("+++")[1])
      
              if not "aliases" in data.keys():
                  return
      
              for alias in data["aliases"]:
                  if "/old-wiki/" in alias:
                      wiki_aliases[alias.replace("/old-wiki/", "/")] = filename
      
                  if "/old-designs/" in alias:
                      # We're dropping the per-release links from designs.a.o, so match on shorter path
                      design_aliases[alias.replace("/old-designs/latest/", "/")] = filename
      
      def fix_link(url):
          link = url.group('link')
      
          url = urlparse(link)
      
          if url.netloc == "wiki.apertis.org":
              if url.path in wiki_aliases.keys():
                  url = url._replace(scheme="")
                  url = url._replace(netloc="")
                  url = url._replace(path=wiki_aliases[url.path])
                  link = " {{< ref \"%s\" >}} " % url.geturl()
      
          if url.netloc == "designs.apertis.org":
              # We're dropping the per-release links from designs.a.o, so match on shorter path
              path = "/%s" % url.path.split('/', 2)[-1]
              print(path)
              if path in design_aliases.keys():
                  url = url._replace(scheme="")
                  url = url._replace(netloc="")
                  url = url._replace(path=design_aliases[path])
                  link = " {{< ref \"%s\" >}} " % url.geturl()
      
          return "](%s)" % link
      
      def fix_ref(url):
          link = url.group('link')
      
          url = urlparse(link)
      
          if url.netloc == "wiki.apertis.org":
              if url.path in wiki_aliases.keys():
                  url = url._replace(scheme="")
                  url = url._replace(netloc="")
                  url = url._replace(path=wiki_aliases[url.path])
                  link = " {{< ref \"%s\" >}} " % url.geturl()
      
          if url.netloc == "designs.apertis.org":
              # We're dropping the per-release links from designs.a.o, so match on shorter path
              path = "/%s" % url.path.split('/', 2)[-1]
              print(path)
              if path in design_aliases.keys():
                  url = url._replace(scheme="")
                  url = url._replace(netloc="")
                  url = url._replace(path=design_aliases[path])
                  link = " {{< ref \"%s\" >}} " % url.geturl()
      
          return "]: %s" % link
      
      def correct_links(filename):
          #print("%s: " % filename)
          with open(filename, 'r+') as file:
              contents = file.read()
      
              if not contents[0:3] == "+++":
                  return
      
              fm = contents.split("+++")[1]
              doc = contents.split("+++",2)[2]
      
              # Hotdoc allows empty links like `[](url)`
              pattern = re.compile("\]\((?P<link>.*?)\)")
              doc = pattern.sub(fix_link, doc)
      
              pattern = re.compile("\]: (?P<link>.*)")
              doc = pattern.sub(fix_ref, doc)
      
              file.seek(0)
              file.truncate()
      
              file.write("+++")
              file.write(fm)
              file.write("+++")
              file.write(doc)
      
      wiki_aliases = {}
      design_aliases = {}
      
      for root, dirs, files in os.walk(sys.argv[1]):
          for file in files:
              if ".md" in file:
                  get_aliases("%s/%s" %(root, file))
      
      print("wiki_aliases:")
      print(wiki_aliases)
      print("design_aliases:")
      print(design_aliases)
      
      for root, dirs, files in os.walk(sys.argv[1]):
          for file in files:
              if ".md" in file:
                  correct_links("%s/%s" %(root, file))
      ```
      
      Signed-off-by: default avatarMartyn Welch <martyn.welch@collabora.com>
      ee26b8cf
  3. Jul 27, 2020
  4. Jul 24, 2020
  5. Jul 19, 2020
  6. Jul 15, 2020
  7. Jul 14, 2020
  8. Jul 13, 2020
  9. Jun 30, 2020
  10. Jun 17, 2020
    • Martyn Welch's avatar
      Sort out the "sdk" page · 5e289fcf
      Martyn Welch authored
      
      The SDK page is a mess, rather than describing the SDK, it provides some
      examples of how to use the (legacy) Canterbury Application Framework.
      
      - Move this page to `ade.md` rather than `sdk.md`
      - Update ade example as it's broken (we can use the actually tested
        workflow)
      - Remove the documention describing the Apertis Eclipse Plugin. This
        doesn't seem to have been available since before v2019, so is
        effectively unsupported at this point.
      - Update references to the SDK page to point to the best description of
        the SDK we currently seem to have on designs.a.o for now.
      
      Signed-off-by: default avatarMartyn Welch <martyn.welch@collabora.com>
      5e289fcf
  11. Jun 16, 2020
  12. Jun 10, 2020
  13. May 28, 2020
    • Martyn Welch's avatar
      Update system startup and split document · 10fe1873
      Martyn Welch authored and Emanuele Aina's avatar Emanuele Aina committed
      
      The system startup document is out of date. Provide a brief updated
      description of the Apertis boot process and move to a new "architecture"
      section. Split out the boot analysis into its own document and move to a
      new "guides" section. Remove the previously performed optimisations as
      these describe patched in changes that no longer appear to be a part
      of Apertis.
      
      Signed-off-by: default avatarMartyn Welch <martyn.welch@collabora.com>
      10fe1873
Loading