Skip to content

Commit e502a56

Browse files
committed
Merge branch 'development'
2 parents 25a0faa + 754530c commit e502a56

File tree

12 files changed

+147
-77
lines changed

12 files changed

+147
-77
lines changed

assets/scss/globals/_global.scss

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ body {
8181
letter-spacing: 0.01em;
8282

8383
&.small {
84-
font-size: 3vw;
84+
font-size: 2.8vw;
8585

8686
@media all and (max-width: 768px) {
8787
font-size: 6vw;
@@ -179,3 +179,15 @@ body {
179179
flex: 1 1 auto;
180180
}
181181
}
182+
183+
.paper-info {
184+
> div,
185+
p {
186+
margin: 0;
187+
margin-bottom: 0.5vw;
188+
}
189+
190+
strong {
191+
font-weight: bold;
192+
}
193+
}

bun.lockb

32 Bytes
Binary file not shown.

content.config.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ export default defineContentConfig({
2626
})),
2727
cta: z.string().optional(),
2828
date: z.string().optional(),
29+
type: z.string(),
30+
infos: z.array(z.object({
31+
info: z.string(),
32+
})).optional(),
2933
}),
3034
}),
3135
source: 'research/*.md',

content/research/research-1.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ coauthors:
55
name: "Nicolò Fraccaroli"
66
link: "https://sites.google.com/view/nfraccaroli/home"
77
date: "2020-04-01"
8+
type: "Work in Progress"
89
---
910

1011
Does the experience of a banking crisis has an effect on households' portfolios? We investigate this question by focusing on households that migrated to Germany between 1950 and the 2007 financial crisis. Combining data on migrants from 123 different countries with data on systemic banking crises, we identify the impact of the crisis' experience through the variation in the timing of arrival. We compare households' portfolios of those with a household head that experienced a systemic banking crisis in her country of ancestry with those that did not. Focusing on loan portfolios, we find that household that witnessed at least a crisis earlier in their life are less likely to hold consumer loans than those that never experienced a crisis. Moreover, we show that the probability of borrowing is lower for migrants who experienced multiple crises compared to those that experienced a single episode, suggesting a cumulative effect of banking shocks. We propose analogous evidence on real estate portfolios. Overall, our results suggest that the cost financial crises is not limited to the short-term effects driven by losses in wealth and income, but rather a long-lasting effect due to households changing their behaviour.

content/research/research-2.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ coauthors:
1313
name: "Nicolò Fraccaroli"
1414
link: "https://sites.google.com/view/nfraccaroli/home"
1515
date: "2022-10-01"
16+
type: "Working Papers"
1617
---
1718

1819
This paper shows that credit shocks are an important determinant of the recent rise of populism. Exploiting spatial variation in exposure to an exogenous lending cut by a large German bank in 2007-08, we find that exposure to the credit shock leads to a persistent increase in populist political preferences. To explore the shift in demand for populism activated by the shock, we measure the degree of populist rhetoric and the salience of bank-related topics to each party over time using a machine learning technique on the corpus of parliamentary speeches in Germany. A county-level analysis suggests that the underlying mechanism lies in the perceived decay of the local economy across voters that stems from the credit shock. A machine learning decomposition of the individual causal effects indicates that labour market history is the most important factor shaping the response in populist preferences.

content/research/research-3.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@ coauthors:
1414
link: "https://sites.google.com/view/jeanet-sinding-bentzen"
1515
- coauthor:
1616
name: "Lena Lindbjerg Sperling"
17-
date: "2024-12-01"
17+
date: "2024-12-25"
18+
type: "Publications"
19+
infos:
20+
- info: "_Conditionally Accepted_ at **American Economic Journal: Applied Economics**."
1821
---
1922

2023
How do strengthened church-state relations impact religiosity and social values? To examine, we exploit the staggered introduction of the faith-based initiatives across US states. Introduced by conservative Protestants in the 1990s, these policies aimed to improve conditions for faith-based groups and to increase their numbers. Our difference-in-differences analysis reveals that the initiatives managed to increase the number of faith-based nonprofits and to strengthen religiosity and conservative-religious social views — such as attitudes against LGBTQ+ and abortion. Effects were only felt by Protestants. Notably, 9% of Americans who were not regular churchgoers started attending monthly or more. Of the 10,274 new faith-based organizations during the period, 15% may have opened due to the faith-based initiatives. A back-of-the-envelope calculation suggests that these organizations may potentially have reached 8.2% of American Protestants. Effects are plausibly causal; we find no systematic differences prior to implementation, evidence is robust to using novel staggered-rollout designs, restricting comparison to contiguous counties, and to estimation based on triple differences exploiting religious group heterogeneity. Our results contribute to explaining US polarization and highlight consequences of tightened church-state relations.
21-
22-
_Rewrite and Resubmit_ at **American Economic Journal: Applied Economics**.

content/research/research-4.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ coauthors:
1111
name: "Jósef Sigurdsson"
1212
link: "https://www.josefsigurdsson.com/"
1313
date: "2023-05-01"
14+
type: "Work in Progress"
15+
infos:
16+
- info: "_New abstract and draft available soon!_"
1417
---
15-
16-
_New abstract and draft available soon!_

nuxt.config.ts

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,6 @@
11
// https://nuxt.com/docs/api/configuration/nuxt-config
22
export default defineNuxtConfig({
3-
modules: [
4-
'@nuxt/content',
5-
'motion-v/nuxt',
6-
'nuxt-gtag',
7-
'@nuxtjs/sitemap',
8-
'@nuxt/fonts',
9-
'@nuxt/image',
10-
'@nuxt/eslint',
11-
],
3+
modules: ['@nuxt/content', 'motion-v/nuxt', 'nuxt-gtag', '@nuxtjs/sitemap', '@nuxt/fonts', '@nuxt/image', '@nuxt/eslint', '@nuxtjs/mdc'],
124
devtools: { enabled: true },
135
app: {
146
head: {
@@ -73,4 +65,4 @@ export default defineNuxtConfig({
7365
},
7466
},
7567
},
76-
})
68+
})

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
"dependencies": {
1515
"@nuxt/eslint": "1.0.1",
1616
"@nuxt/image": "1.9.0",
17+
"@nuxtjs/mdc": "0.13.5",
1718
"@nuxtjs/sitemap": "7.2.2",
1819
"eslint": "^9.0.0",
1920
"nuxt": "^3.15.2",

pages/research.vue

Lines changed: 110 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,80 +1,107 @@
11
<template>
22
<div>
3-
<PageTitle>Research</PageTitle>
43
<div class="fl-column aself-start standard-padding">
5-
<Motion
6-
v-for="(res) in research"
7-
:key="res.title"
8-
class="publication"
9-
:initial="{ opacity: 0, y: 30 }"
10-
:in-view="{ opacity: 1, y: 0 }"
11-
:in-view-options="{ once: true, amount: 'some' }"
12-
:transition="{ duration: 0.9 }"
4+
<div
5+
v-for="([resType, resArr], i) in Object.entries(research!)"
6+
:key="resType"
137
>
14-
<div class="title-container">
15-
<component
16-
:is="res.meta.title_link ? 'a' : 'div'"
17-
:href="res.meta.title_link ? res.meta.title_link : null"
18-
class="title small"
19-
>
20-
{{ res.title }}
21-
</component>
22-
<div
23-
v-if="res.meta.coauthors"
24-
class="coauthors copy small"
25-
>
26-
with
27-
<span
28-
v-for="(c, index) in res.meta.coauthors"
29-
:key="c.coauthor.name"
30-
class="coauthor"
8+
<PageTitle
9+
class="res-page-title"
10+
:class="{ first: i === 0 }"
11+
>
12+
{{ resType }}:
13+
</PageTitle>
14+
<Motion
15+
v-for="(res) in resArr"
16+
:key="res.title"
17+
class="publication"
18+
:initial="{ opacity: 0, y: 30 }"
19+
:in-view="{ opacity: 1, y: 0 }"
20+
:in-view-options="{ once: true, amount: 'some' }"
21+
:transition="{ duration: 0.9 }"
22+
>
23+
<div class="title-container">
24+
<component
25+
:is="res.meta.title_link ? 'a' : 'div'"
26+
:href="res.meta.title_link ? res.meta.title_link : null"
27+
class="title small"
28+
>
29+
{{ res.title }}
30+
</component>
31+
<div
32+
v-if="res.meta.coauthors"
33+
class="coauthors copy small"
34+
>
35+
with
36+
<span
37+
v-for="(c, index) in res.meta.coauthors"
38+
:key="c.coauthor.name"
39+
class="coauthor"
40+
>
41+
<a
42+
v-if="c.coauthor.link"
43+
:href="c.coauthor.link"
44+
>{{ c.coauthor.name }}</a>
45+
<span v-else>{{ c.coauthor.name }}</span>{{ getLigature(res.meta.coauthors, index) }}
46+
</span>
47+
</div>
48+
<div
49+
v-if="res.meta.links && res.meta.links.length"
50+
ref="links"
51+
class="links"
3152
>
3253
<a
33-
v-if="c.coauthor.link"
34-
:href="c.coauthor.link"
35-
>{{ c.coauthor.name }}</a>
36-
<span v-else>{{ c.coauthor.name }}</span>{{ getLigature(res.meta.coauthors, index) }}
37-
</span>
54+
v-for="link in res.meta.links"
55+
:key="link.link"
56+
class="link"
57+
target="_blank"
58+
:href="link.link"
59+
>{{
60+
link.label }}</a>
61+
</div>
3862
</div>
39-
<div
40-
v-if="res.meta.links && res.meta.links.length"
41-
ref="links"
42-
class="links"
43-
>
44-
<a
45-
v-for="link in res.meta.links"
46-
:key="link.link"
47-
class="link"
48-
target="_blank"
49-
:href="link.link"
50-
>{{
51-
link.label }}</a>
63+
<div class="paper-infos copy small" v-if="res.meta.infos && res.meta.infos.length">
64+
<div
65+
v-for="info in res.meta.infos"
66+
:key="info.info"
67+
class="paper-info"
68+
>
69+
<MDC :value="info.info" tag="div" />
70+
</div>
5271
</div>
53-
</div>
54-
<div class="copy small">
55-
<ContentRenderer :value="res" />
56-
</div>
57-
<a
58-
v-if="res.meta.cta"
59-
class="external copy small"
60-
:href="res.meta.cta"
61-
>Read Me</a>
62-
</Motion>
72+
<div class="copy small">
73+
<ContentRenderer :value="res" />
74+
</div>
75+
<a
76+
v-if="res.meta.cta"
77+
class="external copy small"
78+
:href="res.meta.cta"
79+
>Read Me</a>
80+
</Motion>
81+
</div>
6382
</div>
6483
</div>
6584
</template>
6685

6786
<script setup lang="ts">
87+
import type { ResearchCollectionItem } from '@nuxt/content'
6888
import anime from 'animejs'
6989
7090
const { data: research } = await useAsyncData('research', async () => {
7191
const qCollection = await queryCollection('research').all()
92+
const typeOrder = ['Publications', 'Working Papers', 'Work in Progress']
7293
return qCollection.sort((a, b) => {
7394
const dateA = new Date(a.meta.date ?? '1970-01-01')
7495
const dateB = new Date(b.meta.date ?? '1970-01-01')
75-
96+
if (a.meta.type !== b.meta.type) {
97+
return typeOrder.indexOf(a.meta.type) - typeOrder.indexOf(b.meta.type)
98+
}
7699
return dateB.getTime() - dateA.getTime()
77-
})
100+
}).reduce((acc: Record<string, ResearchCollectionItem[]>, v) => {
101+
acc[v.meta.type] ??= []
102+
acc[v.meta.type].push(v)
103+
return acc
104+
}, {})
78105
})
79106
useHead({
80107
title: `Research`,
@@ -110,13 +137,18 @@ onMounted(() => {
110137
@import '@/assets/scss/variables';
111138
112139
.publication {
113-
border-bottom: 2px solid $plain-text;
114-
padding: 3vw 0 1.5vw;
140+
padding: 0 0 1.5vw;
115141
width: 100%;
116142
opacity: 0;
143+
margin: 2vw 0;
117144
118145
@media all and (max-width: 768px) {
119-
padding: 6vw 0 3vw;
146+
padding: 0 0 3vw;
147+
margin: 4vw 0;
148+
}
149+
150+
&:last-child {
151+
border-bottom: 2px solid $plain-text;
120152
}
121153
}
122154
@@ -202,4 +234,23 @@ onMounted(() => {
202234
color: $secondary;
203235
}
204236
}
237+
238+
.res-page-title {
239+
margin-left: 0;
240+
padding-left: 0;
241+
margin-bottom: 4vw;
242+
margin-top: 0;
243+
244+
@media all and (max-width: 768px) {
245+
margin-bottom: 6vw;
246+
247+
&.first {
248+
margin-top: 4vw;
249+
}
250+
}
251+
252+
&.first {
253+
margin-top: 2vw;
254+
}
255+
}
205256
</style>

0 commit comments

Comments
 (0)