diff --git a/config.json b/config.json
index f0573abd6ef5d7e5a60b890680d459219bb1c1c1..9a89bd2bb312051ee035a9f34be77132e577af81 100644
--- a/config.json
+++ b/config.json
@@ -1,6 +1,6 @@
 {
 	"relative_urls": true,
-	"homepage_slug": "index",
+	"homepage": { "page": "index" },
 	"theme": {
 		"default_tag_color": "#000000",
 		"static_dir": "theme",
diff --git a/fgs/generator.py b/fgs/generator.py
index 37b5f10827d0070b907407b214391c02c3c67e60..153192205fd6a65da9e5be11cf690b1f66e2c65f 100644
--- a/fgs/generator.py
+++ b/fgs/generator.py
@@ -78,8 +78,8 @@ class Generator:
 
 
     def generate_homepage(self, writer, lang, path):
-            page = self.context['pages'][lang][self.config['homepage_slug']]
-            writer.write_template(page.template, path , lang, {'page': page}, page.config)
+        page = self.factories['config'].get(lang)['homepage']['page']
+        writer.write_template(page.template, path , lang, {'page': page}, page.config)
 
 
     def generate_output(self, writer):
diff --git a/theme/templates/macros/nav.html b/theme/templates/macros/nav.html
index 0faa89d2853ccc0b9bdc4cacf3d9963112536178..f06e04e406dfe6f38f5b257963356740ecdc4ee7 100644
--- a/theme/templates/macros/nav.html
+++ b/theme/templates/macros/nav.html
@@ -17,9 +17,7 @@
 {%- macro render_breadcrumb_menu(cat, lang, page = None) -%}
 	<nav class="breadcrumb" {% if cat.color -%}style="--category-color: {{ cat.color }}"{%- endif -%}>
 		<ul>
-			{%- call(homepage) get.page_by_slug(config.homepage_slug, lang) -%}
-			<li>{{ common.render_link(homepage.link, None, lang) }}</li>
-			{%- endcall -%}
+			<li>{{ common.render_link(config.homepage.page.link, None, lang) }}</li>
 			<li>{{ common.render_link(cat.link, None, lang) }}</li>
 			{%- if page -%}
 			<li>{{ common.render_link(page.link, None, lang) }}</li>