From aeefb78955fdfa2d79bea1af172685ff00fb8014 Mon Sep 17 00:00:00 2001
From: Camil Staps
Date: Thu, 7 Dec 2023 11:30:59 +0100
Subject: Add publications timeline

---
 resources/pug/finals/index.pug        |   2 +
 resources/pug/finals/publications.pug | 130 ++++++++++++++++++++++++++++++++++
 2 files changed, 132 insertions(+)
 create mode 100644 resources/pug/finals/publications.pug

diff --git a/resources/pug/finals/index.pug b/resources/pug/finals/index.pug
index caab671..0d3341a 100644
--- a/resources/pug/finals/index.pug
+++ b/resources/pug/finals/index.pug
@@ -125,6 +125,8 @@ block content
 			mixin review(year, author, title)
 				+pub(year, 'Review of: ' + author + ', ' + title)&attributes(attributes)
 
+			p I keep track of #[a(href='/publications.html') time from submission to publication].
+
 			h4 Refereed articles
 			table.main_table.publications
 				tr
diff --git a/resources/pug/finals/publications.pug b/resources/pug/finals/publications.pug
new file mode 100644
index 0000000..2742dd7
--- /dev/null
+++ b/resources/pug/finals/publications.pug
@@ -0,0 +1,130 @@
+extends /layout.pug
+
+block titleContainer
+
+block content
+	h1
+		a(href='/') #[i.fas.fa-arrow-circle-left]
+		|  Publication statistics
+
+	//div.alert.alert-info
+	p.
+		Inspired by #[a(href='https://mastodon.social/@fussballinguist/111288814708880725', target='_blank') Simon Meier-Vieracker],
+		on this page I track how long the peer review and production process takes for each of my publications.
+		Journal articles are red; conference proceedings yellow; book chapters blue.
+		Light color indicates time waiting for reviews; dark color typesetting; diamonds date of publication.
+
+	-
+		const colors = {
+			bookchapter: {
+				review: '#3C59C2',
+				editing: '#010D3B',
+				published: '#010D3B'
+			},
+			confproceedings: {
+				review: '#FFCE2B',
+				editing: '#E1AE00',
+				published: '#E1AE00'
+			},
+			journalarticle: {
+				review: '#C5001F',
+				editing: '#53000D',
+				published: '#53000D'
+			},
+		};
+		let shorttitles = [];
+		let series = [];
+
+	mixin entry(type_, shorttitle, title, review_intervals, editing_intervals = [], published = {})
+		-
+			shorttitles.push(shorttitle);
+
+			let data = [];
+
+			for (let interval of review_intervals)
+				data.push({
+					start: Date.parse(interval[0]),
+					end: Date.parse(interval[1]) || Date.now(),
+					name: 'Review',
+					color: colors[type_]['review'],
+					y: shorttitles.length - 1
+				});
+
+			for (let interval of editing_intervals)
+				data.push({
+					start: Date.parse(interval[0]),
+					end: Date.parse(interval[1]) || Date.now(),
+					name: 'Copy editing',
+					color: colors[type_]['editing'],
+					y: shorttitles.length - 1
+				});
+
+			for (let way of Object.keys(published))
+				data.push({
+					start: Date.parse(published[way]),
+					milestone: true,
+					name: 'Published (' + way + ')',
+					color: colors[type_]['published'],
+					y: shorttitles.length - 1
+				});
+
+			series.push({
+				name: title,
+				data: data,
+				borderRadius: 0,
+			});
+
+	mixin list()
+		#container
+
+		script(src='https://code.highcharts.com/gantt/highcharts-gantt.js')
+		script.
+			Highcharts.ganttChart('container', {
+				credits: {enabled: false},
+				chart: {
+					spacingLeft: 0,
+					spacingRight: 0,
+					style: {fontSize: '1.5rem'},
+				},
+				xAxis: [{
+					grid: {enabled: false},
+					labels: {align: 'left', distance: 0, padding: 0},
+					tickInterval: 1000 * 60 * 60 * 24 * 365,
+					tickLength: 0,
+					gridLineWidth: 1,
+				}],
+				yAxis: {
+					title: null,
+					grid: {enabled: false},
+					type: 'category',
+					categories: !{JSON.stringify(shorttitles)},
+					staticScale: 25,
+				},
+				tooltip: {
+					xDateFormat: '%Y-%m-%d',
+				},
+				series: !{JSON.stringify(series)},
+			});
+
+	+entry('journalarticle', 'Orientalia (2018)', 'A case study of reciprocal middles in Biblical Hebrew: The niphal of לחם',
+		[['2017-11-8', '2017-11-28'], ['2017-12-21', '2018-1-4']], [['2018-1-9', '2018-1-24']], {print: '2018-12-1'})
+	+entry('journalarticle', 'JSS (2020)', 'Prepositions and the grammaticalization of Ancient Hebrew bipartite reciprocal markers',
+		[['2018-3-9', '2018-5-1'], ['2018-5-8', '2018-5-21']], [['2018-5-21', '2019-12-16']], {print: '2020-2-17'})
+	+entry('journalarticle', 'JSOT (2020)', '“When dust was poured out”: Creation in Job 38.36–38',
+		[['2018-8-11', '2018-9-26']], [['2018-9-27', '2019-7-31']], {online: '2019-12-27', print: '2020-3-12'})
+	+entry('confproceedings', 'IFL (2019)', 'With John van Groningen and Rinus Plasmeijer: Lazy interworking of compiled and interpreted code for sandboxing and distributed systems',
+		[['2019-6-15', '2019-8-1'], ['2019-11-30', '2020-2-11']], [['2020-3-3', '2021-2-26']], {online: '2021-7-15'})
+	+entry('bookchapter', 'FS Van Wolde (2022)', 'Voice, discourse prominence, and aspect: The niphal and passive qal of <i>yālad</i>',
+		[['2021-1-4', '2021-2-19'], ['2021-3-11', '2022-9-15']], [['2022-9-15', '2022-9-30']], {print: '2022-11-7'})
+	+entry('journalarticle', 'JHS (2022)', '<i>Lip̄nē</i> ‘in the face of’: A Locative preposition with a threatening connotation',
+		[['2021-7-8', '2021-9-16'], ['2021-10-4', '2021-12-23']], [['2021-12-23', '2022-9-12']], {online: '2022-9-12'})
+	+entry('journalarticle', 'S&P (in preparation)', 'With Johan Rooryck: Formalizing spatial-causal polysemy of Agent prepositions',
+		[['2022-7-4', '2022-9-12'], ['2023-3-6', '2023-6-5'], ['2023-7-30', '2023-10-20'], ['2023-11-10']])
+	+entry('journalarticle', 'Linguistics (2023)', 'With Johan Rooryck: The interpretation of [+distal] in demonstratives and complementizers',
+		[['2022-10-24', '2023-2-23'], ['2023-3-17', '2023-6-9']], [['2023-6-13', '2023-7-18']], {online: '2023-8-5', print: '2023-9-26'})
+	+entry('journalarticle', 'BJALL (in preparation)', 'With Martijn Beukenhorst: Semantic properties of prepositions: The distinction between causal <i>min</i> ‘from’ and <i>bə</i> ‘in’',
+		[['2022-12-29', '2023-5-4'], ['2023-8-22', '2023-9-28'], ['2023-11-2', '2023-11-23']])
+	+entry('journalarticle', 'NLLT (in preparation)', 'Complementation and Common Ground: Discursive effects in Biblical Hebrew',
+		[['2023-9-22']])
+
+	+list()
-- 
cgit v1.2.3