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().
0 1 2 3
import m from 'mithril'
import render from 'mithril-node-render'
import {NavHelper} from './helpers/nav.ts'
export default async (0 1 2
import m from 'mithril'
import {NavHelper} from './helpers/nav.ts'
export default async (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),
])
}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),
]
}0 1 2 3
import m from 'mithril'
import render from 'mithril-node-render'
import {NavHelper} from './helpers/nav.ts'
export default async (0 1 2
import m from 'mithril'
import {NavHelper} from './helpers/nav.ts'
export default async (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"}, [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"}, [104 105 106 107
}
`)
)
])
}104 105 106 107
}
`)
)
]
}0 1 2 3
import m from 'mithril'
import render from 'mithril-node-render'
import {NavHelper} from './helpers/nav.ts'
export default async (0 1 2
import m from 'mithril'
import {NavHelper} from './helpers/nav.ts'
export default async (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"}, [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"}, [78 79 80 81
})
)
)
])
}78 79 80 81
})
)
)
]
}155 156 157 158 159 160
),
m('div', {class: "row"},
m('div', {class: "col-12"},
m.trust(await pageContent(eleventyConfig, data, nav))
)
),
]),155 156 157 158 159 160
),
m('div', {class: "row"},
m('div', {class: "col-12"},
await pageContent(eleventyConfig, data, nav)
)
),
]),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")0 1 2
import m from 'mithril'
export default async (eleventyConfig: any, data: any) => {
const isDirectory = eleventyConfig.getFilter("isDirectory")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', [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', [164 165 166 167
)
]
)
])
}164 165 166 167
)
]
)
]
}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) => {0 1 2
import m from 'mithril'
import { type SortedFileList, type Repository } from "../src/dataTypes.ts"
export default async (eleventyConfig: any, data: any) => {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', [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', [36 37 38 39
}, file.name)
])
}))
])
}36 37 38 39
}, file.name)
])
}))
]
}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'
0 1 2
import m from 'mithril'
import { type Repository } from '../src/dataTypes.ts'
import { NavHelper } from './helpers/nav.ts'
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"}, [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"}, [116 117 118 119
m('div', {class: "row my-4 mx-1"},
m('div', {class: "col readme"}, m.trust(readmeContent))
)
])
}116 117 118 119
m('div', {class: "row my-4 mx-1"},
m('div', {class: "col readme"}, m.trust(readmeContent))
)
]
}