Or a Wikidata entity identifier.
And citation.js makes that last thing possible, and I spent some time with Lars to implement this for my homepage:
This is more or less what I had before too, but then everything hard coded. The citation.js way allow me to give just a list of two entity IDs (Q27062312 and Q27062639) and citation.js outputs the above. I just have this snippet in the HTML:
<ul class="cite" id="cite1" />
var wikidata = new Cite()
wikidata.set( [ "Q27062312", "Q27062639" ] )
htmlOutput = wikidata.get( opt )
htmlOutput.replace( /&(lt|#60);/g, '<' )
.replace( /&(gt|#62);/g, '>' )
The formatting is actually mostly done with a CSL template (though it needs a hack to get it to output HTML), though adapted to also output the DOI hyperlink and Altmetric icon (you can find the customized CSL in the HTML source code as CC-BY-SA 3.0). The citation.js library fetches the data from Wikidata and actually has to deal with the structure there, which includes a mixture of 'author' and 'author name string' fields for author information. Well done!
If you like this, make sure to check out Wikicite, OpenCitations, and Scholia, projects that enabled and triggered some of the ideas behind the above citation.js use!