db = FileAttachment("_data/submissions_public.json").json()
COL = ({ accept: "#6b1b1b", reject: "#2e8bb0", desk_reject: "#c98a2b", in_principle_accept: "#4c7a4c", withdrawn: "#9a8aa8" })
dcol = d => COL[d] || "#9aa0a6"
accepted = db.accepted.map((a, i) => {
const pub = a.pub_date ? new Date(a.pub_date) : null; // first online (advance access)
const pubfinal = a.pub_date_final ? new Date(a.pub_date_final) : null; // final journal issue (version of record)
const vor = pubfinal || (a.awaiting_issue ? null : pub); // awaiting an issue → no VoR yet
const sameVoR = !pubfinal || (pub && +pubfinal === +pub); // online-only / same-day → one dot
const labelYear = (a.awaiting_issue && !pubfinal) ? "TBD"
: pubfinal ? pubfinal.getUTCFullYear() : (a.year ? a.year : "(in press)");
return {
...a, i,
acc: new Date(a.accept_date),
pub, pubfinal, vor, sameVoR,
vorDate: a.pub_date_final || a.pub_date,
fsub: a.first_sub_date ? new Date(a.first_sub_date) : null,
ipa: a.ipa_date ? new Date(a.ipa_date) : null,
label: (a.registered_report ? "✱ " : "")
+ `${a.authors} ${labelYear} · ${a.journal}`
+ (a.timing_known ? ` · ${a.rr_missing ? "R&R ?" : a.total_rr + " R&R"}` : "")
};
})Publication Record
A living log of my journal articles — the road to acceptance, time under review, and the wait to print
The road to acceptance
Each row is one paper. Acceptance-date view places every submission on a real calendar, so the empty stretches between submissions — when a paper was not under review — show as gaps in a faint through-line. After acceptance (●) comes the wait to first online (○, advance access) and then to the version of record in a journal issue (◉); for online-only journals those two coincide as a single ◉. Total-time view collapses the gaps to rank papers purely by time spent under review. Segment colour is the outcome of each submission; earlier journals are not named.
Review time is measured to acceptance — a conditional acceptance counts as accepted, and for registered reports the clock stops at in-principle acceptance. The post-acceptance dots (first online, then the assigned issue) show production time; later production steps and post-acceptance replication are not tracked.
Desk reject
Reject after review
Withdrawn
Accepting journal
Accepted
First online
Version of record (issue)
◆ In-principle acceptance
✱ Registered report
For online-only journals the online and final versions are the same date — shown as a single ◉.