BROKEN HERE, add patches template. Breaks getLocation somehow?

c69df816cee2eb0e74eed142f43eaca6c730ce22

Tucker McKnight | Sun Aug 31 2025

BROKEN HERE, add patches template. Breaks getLocation somehow?
main.ts:4
Before
4
After
4
import paginatedPatches from './src/paginatedPatches.ts'
main.ts:16
Before
16
After
16

  eleventyConfig.addGlobalData("repos", reposData)
  eleventyConfig.addGlobalData("reposConfig", reposConfiguration)
  const branchesData = branches(reposData)
  eleventyConfig.addGlobalData("branches", branchesData)
main.ts:171
Before
171
After
171
    console.log("getreadme")
    console.log(branchName)
    console.log(repoName)
main.ts:205
Before
205
  const branchesData = branches(reposData)
After
205
main.ts:295
Before
295
After
295
      branches: branchesData,
main.ts:309
Before
309
310
311
  eleventyConfig.addGlobalData("repos", reposData)
  eleventyConfig.addGlobalData("reposConfig", reposConfiguration)
  eleventyConfig.addGlobalData("branches", branchesData)
After
309
310
311
  // PATCHES.NJK
  const patchesTemplate = fsImport.readFileSync(`${__dirname}/templates/patches.njk`).toString()
  const paginatedPatchesData = await paginatedPatches(reposData)
  eleventyConfig.addTemplate(
    `repos/patches.njk`,
    topLayoutPartial + repoTemplate + bottomLayoutPartial,
    {
      pagination: {
        data: "paginatedPatches",
        size: 1,
        alias: "patchPage",
      },
      paginatedPatches: paginatedPatchesData,
      permalink: (data) => {
        const repoName = data.patchPage.repoName
        const branchName = data.patchPage.branchName
        return `${reposPath}/${eleventyConfig.getFilter("slugify")(repoName)}/branches/${eleventyConfig.getFilter("slugify")(branchName)}/patches/page${data.patchPage.pageNumber}`
      },
      eleventyComputed: {
        nav: {
          repoName: (data) => data.patchPage.repoName,
          branchName: (data) => data.patchPage.branchName,
        }
      },
      navTab: "patches",
    }
  )
src/flatPatches.ts:0
Before
0
After
0
let cachedFlatPatches = null

export default async (repos) => {
  if (cachedFlatPatches !== null) { return cachedFlatPatches }

  cachedFlatPatches = Object.keys(repos).flatMap((repoName) => {
    return Object.keys(repos[repoName].branches).flatMap((branchName) => {
      return repos[repoName].branches[branchName].patches.map((patch) => {
        return {
          patch,
          branchName,
          repoName,
        }
      })
    })
  })

  return cachedFlatPatches
}
src/helpers.ts:137
Before
137
After
137
  console.log(repoName)
src/paginatedPatches.ts:0
Before
0
After
0
import flatPatchesFunc from './flatPatches.js'

let paginatedPatches = null

export default async (repos) => {
  if (paginatedPatches !== null) { return paginatedPatches }

  const flatPatches = await flatPatchesFunc(repos)

  paginatedPatches = []
  const patchesPerPage = 30

  flatPatches.forEach((patch) => {
    const index = paginatedPatches.findIndex((page) => {
      return (
        page.repoName === patch.repoName
        && page.branchName == patch.branchName
        && page.patches.length <= patchesPerPage
      )
    })

    if (index === -1) {
      const pageNumber = paginatedPatches.filter(page => (page.repoName === patch.repoName && page.branchName === patch.branchName)).length + 1
      paginatedPatches.push({
        repoName: patch.repoName,
        branchName: patch.branchName,
        patches: [patch.patch],
        // current page number is one more than "how many items in paginatedPatches already
        // have repoName as their repo name.
        pageNumber,
      })
    }
    else {
      paginatedPatches[index].patches.push(patch.patch)
    }
  })

  return paginatedPatches
}
templates/patches.njk:0
Before
0
After
0
<nav>
  <ul class="pagination">
    {% for pageObj in (paginatedPatches | pagesJustForBranch(patchPage.repoName, patchPage.branchName)) %}
    <li class="page-item">
      <a class="page-link {% if pageObj.pageNumber == patchPage.pageNumber %}active{% endif %}" href="{{reposPath}}/{{patchPage.repoName | slugify}}/branches/{{patchPage.branchName}}/patches/page{{pageObj.pageNumber}}">{{ pageObj.pageNumber }}</a>
    </li>
    {% endfor %}
  </ul>
</nav>

<ul>
  {% for patch in patchPage.patches %}
    <li class="patch">
      <div>
        <span class="patch-name"><a href="/repos/{{patchPage.repoName | slugify}}/branches/{{patchPage.branchName | slugify}}/patches/{{patch.hash}}">{{patch.name}}</a></span>
        <br />
        <span>{{patch.date | date}}</span>
        <br />
        <span>{{patch.author}}</span>
        <pre class="patch-hash">{{patch.hash}}</pre>
      </div>
    </li>
  {% endfor %}
</ul>

<nav>
  <ul class="pagination">
    {% for pageObj in (paginatedPatches | pagesJustForBranch(patchPage.repoName, patchPage.branchName)) %}
    <li class="page-item">
      <a class="page-link {% if pageObj.pageNumber == patchPage.pageNumber %}active{% endif %}" href="/repos/{{patchPage.repoName | slugify}}/branches/{{patchPage.branchName}}/patches/page{{pageObj.pageNumber}}">{{ pageObj.pageNumber }}</a>
    </li>
    {% endfor %}
  </ul>
</nav>