oranda

Version 0.3.0-prerelease.4

v0.3.0-prerelease.4 Aug 1 2023 at 09:17 UTC

BREAKING CHANGES

  • Changelog autodetect - shadows-withal/pr583

    oranda's changelog feature is now opt-out instead of opt-in, meaning that even if you haven't set components.changelog = true, oranda will now generate a (maybe empty) changelog page. You can opt out of this by setting components.changelog = false.

    Additionally, oranda will now attempt to read changelog information from a local CHANGELOG(.md) or RELEASES(.md) file, should it exist. If you want oranda to use GitHub release bodies instead, set components.changelog.read_changelog_file = false.

    Migration instructions from 0.2.0 to 0.3.0

    Set components.changelog to false in your oranda.json file if you previously didn't use the changelog feature. Also, oranda will now attempt to read changelog information from your local CHANGELOG.md/RELEASES.md file. If you want oranda to use GitHub release bodies instead, set components.changelog.read_changelog_file = false.

Features

  • Workspace Support - shadows-withal/many PRs, mistydemeo/many PRs, jamesmunns/i493

    You can now tell oranda to build sites from multiple projects in the same directory at the same time! By default, this will also generate a separate "root" page, providing an index into all projects defined within your workspace.

    To enable this feature, create a new file called oranda-workspace.json in your workspace root. This file can contain all regular oranda configuration, which will in turn be passed down to each of its children, but it also listens to the workspace key, which is where you properly configure your workspace. A sample workspace configuration would look like this:

    {
      "workspace": {
        "auto": true,
        "docs_path": "README.md"
      },
      "styles": {
        "theme": "hacker"
      }
    }
    

    This configuration will attempt to auto-detect a Cargo or npm workspace, set the Hacker theme for all members, and embed the contents of the top-level README.md file into the workspace index page.

    You can also specify workspace members manually, like this:

    {
      "workspace": {
        "members": [
          {
            "slug": "memberone",
            "path": "./member-one"
          },
          {
            "slug": "membertwo",
            "path": "./member-two"
          }
        ]
      }
    }
    

    Aside: If you have a use-case for an oranda page that combines multiple different projects outside of a shared directory, please let us know on Discord!

    For more information on workspace members, take a look at the docs!

  • Inlining CSS - shadows-withal/pr565, pr566, i554

    oranda now uses a CSS version that's included in the binary it's shipped with! This means no more HTTP requests to GitHub to fetch a CSS version multiple times per build. As a bonus, we removed the internal dependency on a Node.js toolchain to build the CSS in development, which should make hacking on oranda and its themes a lot easier!

  • Basic CSS caching - jamesmunns/pr551

    In line with workspace support, oranda will now attempt to keep already downloaded versions of its CSS in-memory, which helps tremendously when you have a lot of workspace members all using a custom CSS version.

  • Artifacts JSON output - shadows-withal/pr589

    oranda will now spit out an extra artifacts.json file that contains most of the info we use to construct our artifacts page. The intention is for this file to be used for external integrations, since JSON is a lot easier to read. We've also added a new --json-only flag to the build command that only outputs this JSON file.

Fixes

  • Display platforms alphabetically in install widget - Plecra/pr544, shadows-withal/i480

    Platforms are now sorted alphabetically in the install widget dropdown. This is an improvement over the previous unsorted state.

  • Show prerelease contents on changelog pages - shadows-withal/pr549

    This is a simple bug fix. Previously, we accidentally hid the body of a prerelease on its own separate changelog page (but mysteriously, it showed up on the main changelog page when prereleases were toggled!)

  • Restrict parsed repo URLs to GitHub only - Plecra/pr553

    Right now, we only support GitHub repository URLs to get context from. This fixed an issue where technically, oranda would attempt to do this with GitLab URLs as well, which would cause unintended behavior.

  • Support git+https URLs - shadows-withal/pr563, geelen/i531

    oranda now correctly handles git+https://yourrepo repository URLs, and is a lot more informative when it encounters one that it can't parse.

  • Re-add logo class to logo img element - shadows-withal/pr585, tertsdiepraam/i582

Housekeeping

  • Testing rework - [Gankra]/pr575, shadows-withal/pr581

    oranda's tests have long been suboptimal, but we now sport a pretty good test suite, with automated integration snapshot testing for multiple external projects, and improved HTML-aware integration tests.