Skip to content

suggestion: Version-locked embeds/editor #875

@AllanTaylor314

Description

@AllanTaylor314

It would be nice to be able to use the version included in the embed link (and it should be possible to make it work for existing links).

For example, I have some embedded code from AoC 2024 but it no longer works because a lot has changed. The embed URL starts with https://www.uiua.org/embed?src=0_14_0__JCBNTU1..., so I can tell it was written for version 0_14_0 but the page doesn't use that info. Pad URLs include the same version info and also don't use it.

Proposed features:

  • Version dropdown menu on pad page
    • might discourage use of latest version, which is unfortunate (I don't mind if this is skipped)
  • Pad links with a version number use that version, possibly with a note/banner that it is not the latest version (could use orange border around dropdown if not latest)
  • Pad links without a version number (if those exist? I think there might have been some fairly early on) would use latest (which would likely leave this broken, but no more broken than it is currently)
  • Embed links with a version number use that version
    • this would be a breaking change, but so is changing the language. This would fix existing embeds that are currently broken

Alternative solution:

  • Since it's a static site, you could host previous versions on something like archive.uiua.org/{version}/embed?src=...
    • This would require updating existing embed links which are currently broken, so wouldn't be an automatic fix for those
    • Increasing the path depth by including the version may break styles/relative links
    • Has the advantage of full documentation

One difficulty might be the lack of current documentation for older versions, but there shouldn't really be new code written for older versions. I see this feature mainly as a way to keep snapshots in time working, even as the language evolves

Another difficulty would be building all the previous versions as part of the build (or keeping them around in the site folder between releases - that might change the asset structure, though I think it makes more sense since old builds shouldn't change)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions