Remove the render call from specific pages

651585700fac608a1712528bd77a22d27cf5dfa2

Tucker McKnight <tmcknight@instructure.com> | Wed Feb 11 2026

Remove the render call from specific pages

Have individual pages just export an m() object (or array of m()
objects) instead of calling `render` on it to turn that into HTML.
These m() objects will get rendered by the htmlPage wrapper, which
is what ultimately calls render().
js_templates/branches.ts:1
Before
0
1
2
3
import m from 'mithril'
import render from 'mithril-node-render'
import {NavHelper} from './helpers/nav.ts'

export default async (
After
0

1
2
import m from 'mithril'
⁣
import {NavHelper} from './helpers/nav.ts'

export default async (
js_templates/branches.ts:35
Before
34
35
36
37
38
39
40
41
42
    }))
  }

  return render([
    m('h1', {class: 'fs-2'}, 'Branches with unmerged commits'),
    branchCards(branchesWithWorkInProgress),
    m('h1', {class: 'fs-2'}, 'Branches that are fully merged'),
    branchCards(branchesFullyMerged),
  ])
}
After
34
35
36
37
38
39
40
41
42
    }))
  }

  return [
    m('h1', {class: 'fs-2'}, 'Branches with unmerged commits'),
    branchCards(branchesWithWorkInProgress),
    m('h1', {class: 'fs-2'}, 'Branches that are fully merged'),
    branchCards(branchesFullyMerged),
  ]
}
js_templates/commit.ts:1
Before
0
1
2
3
import m from 'mithril'
import render from 'mithril-node-render'
import {NavHelper} from './helpers/nav.ts'

export default async (
After
0

1
2
import m from 'mithril'
⁣
import {NavHelper} from './helpers/nav.ts'

export default async (
js_templates/commit.ts:12
Before
11
12
13
14
15
16
  const lineNumbers = eleventyConfig.getFilter("lineNumbers")
  const languageExtension = eleventyConfig.getFilter("languageExtension")

  return render([
    m('div', {class: "row"},
      m('div', {class: "col-auto"},
        m('div', {class: "bezel-secondary px-3 py-2"}, [
After
11
12
13
14
15
16
  const lineNumbers = eleventyConfig.getFilter("lineNumbers")
  const languageExtension = eleventyConfig.getFilter("languageExtension")

  return [
    m('div', {class: "row"},
      m('div', {class: "col-auto"},
        m('div', {class: "bezel-secondary px-3 py-2"}, [
js_templates/commit.ts:105
Before
104
105
106
107
}
`)
    )
  ])
}
After
104
105
106
107
}
`)
    )
  ]
}
js_templates/commits.ts:1
Before
0
1
2
3
import m from 'mithril'
import render from 'mithril-node-render'
import {NavHelper} from './helpers/nav.ts'

export default async (
After
0

1
2
import m from 'mithril'
⁣
import {NavHelper} from './helpers/nav.ts'

export default async (
js_templates/commits.ts:11
Before
10
11
12
13
14
15
  const slugify = eleventyConfig.getFilter("slugify")
  const date = eleventyConfig.getFilter("date")

  return render([
    m('div', {class: "row mt-3 mb-1"},
      m('div', {class: "col"},
        m('p', {class: "d-inline-block"}, [
After
10
11
12
13
14
15
  const slugify = eleventyConfig.getFilter("slugify")
  const date = eleventyConfig.getFilter("date")

  return [
    m('div', {class: "row mt-3 mb-1"},
      m('div', {class: "col"},
        m('p', {class: "d-inline-block"}, [
js_templates/commits.ts:79
Before
78
79
80
81
        })
      )
    )
  ])
}
After
78
79
80
81
        })
      )
    )
  ]
}
js_templates/common/htmlPage.ts:156
Before
155
156
157
158
159
160
            ),
            m('div', {class: "row"},
              m('div', {class: "col-12"},
                m.trust(await pageContent(eleventyConfig, data, nav))
              )
            ),
          ]),
After
155
156
157
158
159
160
            ),
            m('div', {class: "row"},
              m('div', {class: "col-12"},
                await pageContent(eleventyConfig, data, nav)
              )
            ),
          ]),
js_templates/file.ts:1
Before
0
1
2
3
import m from 'mithril'
import render from 'mithril-node-render'

export default async (eleventyConfig: any, data: any) => {
  const isDirectory = eleventyConfig.getFilter("isDirectory")
After
0
1

2
import m from 'mithril'

⁣
export default async (eleventyConfig: any, data: any) => {
  const isDirectory = eleventyConfig.getFilter("isDirectory")
js_templates/file.ts:14
Before
13
14
15
16
17
18
  const languageExtension = eleventyConfig.getFilter("languageExtension")
  const renderContentIfAvailable = eleventyConfig.getFilter("renderContentIfAvailable")

  return render([
    m('div', {class: "row mt-3 mb-1"},
      m('div', {class: "col"},
        m('p', [
After
13
14
15
16
17
18
  const languageExtension = eleventyConfig.getFilter("languageExtension")
  const renderContentIfAvailable = eleventyConfig.getFilter("renderContentIfAvailable")

  return [
    m('div', {class: "row mt-3 mb-1"},
      m('div', {class: "col"},
        m('p', [
js_templates/file.ts:165
Before
164
165
166
167
        )
      ]
    )
  ])
}
After
164
165
166
167
        )
      ]
    )
  ]
}
js_templates/files.ts:1
Before
0
1
2
3
import m from 'mithril'
import render from 'mithril-node-render'
import { type SortedFileList, type Repository } from "../src/dataTypes.ts"

export default async (eleventyConfig: any, data: any) => {
After
0

1
2
import m from 'mithril'
⁣
import { type SortedFileList, type Repository } from "../src/dataTypes.ts"

export default async (eleventyConfig: any, data: any) => {
js_templates/files.ts:9
Before
8
9
10
11
12
13

  const files: SortedFileList = topLevelFilesOnly(branch.fileList, '')

  return render([
    m('div', {class: "row mt-3 mb-1"}, [
      m('div', {class: "col"},
        m('p', [
After
8
9
10
11
12
13

  const files: SortedFileList = topLevelFilesOnly(branch.fileList, '')

  return [
    m('div', {class: "row mt-3 mb-1"}, [
      m('div', {class: "col"},
        m('p', [
js_templates/files.ts:37
Before
36
37
38
39
        }, file.name)
      ])
    }))
  ])
}
After
36
37
38
39
        }, file.name)
      ])
    }))
  ]
}
js_templates/repo.ts:1
Before
0
1
2
3
import m from 'mithril'
import render from 'mithril-node-render'
import { type Repository } from '../src/dataTypes.ts'
import { NavHelper } from './helpers/nav.ts'
After
0

1
2
import m from 'mithril'
⁣
import { type Repository } from '../src/dataTypes.ts'
import { NavHelper } from './helpers/nav.ts'
js_templates/repo.ts:45
Before
44
45
46
47
48
49

  const readmeContent = await renderContentIfAvailable(await getReadMe(repo.name, branch.name), branch.name)

  return render([
    m('div', {class: "row"}, [
      m('div', {class: "col"}, [
        m('div', {class: "px-4 pt-3 bezel-header"}, [
After
44
45
46
47
48
49

  const readmeContent = await renderContentIfAvailable(await getReadMe(repo.name, branch.name), branch.name)

  return [
    m('div', {class: "row"}, [
      m('div', {class: "col"}, [
        m('div', {class: "px-4 pt-3 bezel-header"}, [
js_templates/repo.ts:117
Before
116
117
118
119
    m('div', {class: "row my-4 mx-1"},
      m('div', {class: "col readme"}, m.trust(readmeContent))
    )
  ])
}
After
116
117
118
119
    m('div', {class: "row my-4 mx-1"},
      m('div', {class: "col readme"}, m.trust(readmeContent))
    )
  ]
}