13 seconds build time per page

Here you can see the issue: it iterates over all your content in all your pages. It probably does that also for the search, but I did not look into that.

{% include nav.html pages=collection key=collection_key %}

The include nav.html is used in the sidebar.

The code is not written with performance in mind, as you can see above. Some very poor choices have been made in building this theme. Having frontmatter like this is terrible from a maintenance POV. The performance of this theme could be fixed by having an autocollapsing menu that gets its active state from javascript. In that case it can be generated once instead of 2000 times (the amount of pages you have).

---
layout: default
title: (REDACTED).(REDACTED_OTHER_FRAMEWORK)
grand_parent: 
parent: (REDACTED_FRAMEWORK) API
has_children: True
permalink: /(REDACTED_FRAMEWORK)-api/ReSoundSETTestwareTestCaseActionsRatatoskAssembly
---

Also, I would not use Jekyll, but Hugo for this purpose (generating a big documentation website). If you want me to port it for you, contact me on joost@vdschee.nl.

2 Likes