keys2wiki

keys2wiki is a shell script to interface with bib2wiki so as to produce directly references for our web from the mediawiki list of broken references.

So if you want, say, for the page of polariton vortices, the following three works:

Screenshot 20231022 154923.png

then run key2wiki which will enter into waiting mode. Copy/paste from the wiki page the list of references and past them:

laussy@covid:~$ ./keys2wiki 
Template:Fraser09a (edit)
Template:Lagoudakis08a (edit)
Template:Rahmani19a (edit)

and to complete, invoke Ctrl+D (twice), which will result in:

fraser09a
<u>[[Vortex-antivortex pair dynamics in an exciton-polariton condensate]]</u>. [[M. D. Fraser]], [[G. Roumpos]] and [[Y. Yamamoto]] in [[New J. Phys.]] [http://dx.doi.org/10.1088/1367-2630/11/11/113048 '''11''':113048] ([[2009]]).

lagoudakis08a
<u>[[Quantized vortices in an exciton-polariton condensate]]</u>. [[K. G. Lagoudakis]], [[M. Wouters]], [[M. Richard]], [[A. Baas]], [[I. Carusotto]], [[R. André]], [[Le Si Dang]] and [[B. Deveaud-Plédran]] in [[Nature Phys.]] [http://dx.doi.org/10.1038/nphys1051 '''4''':706] ([[2008]]).

rahmani19a
<u>[[Detuning control of Rabi vortex oscillations in light-matter coupling]]</u>. [[A. Rahmani]] and [[L. Dominici]] in [[Phys. Rev. B]] [http://dx.doi.org/10.1103/physrevb.100.094310 '''100''':094310] ([[2019]]).

The input can be of three types:

  • From the edited page, as above (original).
  • From the broken references in a public page:
Template:Einstein25a
Template:Einstein25b
  • From the broken references themselves at the end in a public page:
↑ Template:Gardiner97a
↑ Template:Jaksch97a

Versions

  • v°0.1 on 22 October (2023).
  • v°0.2 on 15 January (2025). Adds recognition for ↑ and the presence of (edit) making it work from all possible sources of broken references.

Code

Previous version (0°1) had a \.* which I do not understand. I keep it just in case something doesn't work and remind me why it was there.

#!/bin/bash
# v0°2 Wed Jan 15 16:46:39 CET 2025

bib2wiki -keys="`cat | perl -pe 's/(↑ )?Template:([a-zA-Z]+[0-9]{2}[a-z])(\s\(edit\))?/\2/p' | sed '/↑ /d' | sed '/Template/d' | awk -vORS=, '{ print $1 }' | sed 's/,$/\n/'`"
#!/bin/bash
# v0°1 Sun 22 Oct 2023

bib2wiki -keys="`cat | perl -pe 's/Template:([a-zA-Z]+[0-9]{2}[a-z])\s\(edit\)\.*/\1/p' | sed '/Template/d' | awk -vORS=, '{ print $1 }' | sed 's/,$/\n/'`"