Create an archive-url standard variable for the next CSL release.
Summary
On Wikipedia, there’s a reference template called cite web. It’s used like so: {{cite web |last= |first= |date= |title= |url= |website= |location= |publisher= |url-status= |archive-url= |archive-date=}}.
In the template, you can see a field called archive-url, which permits a URL to be archived using a service such as Archive.org. I would like support for this field in CSL, defined as a standard variable within the specification.
Motivation
I recently requested this feature in Typst’s Hayagriva bibliography tool, but I was told that, since it isn’t present in CSL, it couldn’t be added to Hayagriva.
So, to permit implementors (like Typst) to add this field to their languages, I’d like to see it added in CSL.
It would provide better support for online sources, many of which are particularly volatile, such as blog posts, social media posts, and online videos. Online sources almost always need an included archival link, and including it in CSL could push folks to use better link archival practices, resulting in more reliable online sources in all places where CSL is used.
Guide-level explanation
CSL now has the archive-url standard variable. It stores 1 or more archived links for the source.
Reference-level explanation
The archive-url standard variable takes >=1 value(s), storing archived versions of the entry/entries under the url standard variable or other online URL(s) where backup copies of the provided resource exist.
Drawbacks
CSL already has the archive variable, which has only a minimal definition. Its lax definition may allow using it to store links already. However, in my view, it’s better to have a field specifically for archive URLs, even if that means adding another variable to CSL.
Implementors would also have to add it to their implementations.
This template is based off the Rust RFC format. I didn’t see an “RFC” template for CSL specifically, but if there is one, please let me know, and I’ll reformat it. ![]()