Tucker McKnight <tucker@pangolin.lan> | Sun Jan 04 2026
fix files links and add more task descriptions
25 26 27 28 29 30
return `<span class="px-2">${dir}</span>`
}
else {
return `<span class="bezel-gray px-1"><a href="${data.reposPath}/${data.fileInfo.repoName}/branches/${data.fileInfo.branchName}/files/${arr.slice(0, index + 1).join('/')}">${dir}</a></span>`
}
}).join('')
}25 26 27 28 29 30
return `<span class="px-2">${dir}</span>`
}
else {
return `<span class="bezel-gray px-1"><a href="${data.reposPath}/${data.fileInfo.repoName}/branches/${data.fileInfo.branchName}/files/${arr.slice(0, index + 1).map((part) => slugify(part)).join('/')}.html">${dir}</a></span>`
}
}).join('')
}44 45 46 47 48 49
${topLevelFilesOnly(getDirectoryContents(data.fileInfo.repoName, data.fileInfo.branchName, data.fileInfo.file), data.fileInfo.file + '/').map((dir) => {
return `<li class="list-group-item">
${dir.isDirectory ? `<span>📁</span>` : ''}
<a href="${data.reposPath}/${slugify(data.fileInfo.repoName)}/branches/${slugify(data.fileInfo.branchName)}/files/${dir.fullPath.split('/').map((pathPart) => slugify(pathPart)).join('/')}">${getRelativePath(data.fileInfo.file, dir.name)}</a>
</li>`
}).join('')}
</ul>44 45 46 47 48 49 50 51 52 53
${topLevelFilesOnly(getDirectoryContents(data.fileInfo.repoName, data.fileInfo.branchName, data.fileInfo.file), data.fileInfo.file + '/').map((dir) => {
return `<li class="list-group-item">
${dir.isDirectory ? `<span>📁</span>` : ''}
<a href="${data.reposPath}/${slugify(data.fileInfo.repoName)}/branches/${slugify(data.fileInfo.branchName)}/files/${dir.fullPath.split('/').map((pathPart) => {
return pathPart.split('.').map((subPart) => {
return slugify(subPart)
}).join('.')
}).join('/')}.html">${getRelativePath(data.fileInfo.file, dir.name)}</a>
</li>`
}).join('')}
</ul>24 25 26 27 28 29
return `
<li class="list-group-item">
${file.isDirectory ? '<span>📁</span>' : ''}
<a href="${data.reposPath}/${slugify(data.branchInfo.repoName)}/branches/${slugify(data.branchInfo.branchName)}/files/${file.fullPath.split('/').map((pathPart) => slugify(pathPart)).join('/')}">${file.name}</a>
</li>
`
}).join('')}24 25 26 27 28 29 30 31 32 33 34 35
return `
<li class="list-group-item">
${file.isDirectory ? '<span>📁</span>' : ''}
<a href="${data.reposPath}/${slugify(data.branchInfo.repoName)}/branches/${slugify(data.branchInfo.branchName)}/files/${
file.fullPath.split('/')
.map((pathPart) => {
return pathPart.split('.').map((subPart) => {
return slugify(subPart)
}).join('.')
}).join('/')}.html">${file.name}</a>
</li>
`
}).join('')}314 315 316 317 318 319
permalink: (data) => {
const repoName = data.fileInfo.repoName
const branchName = data.fileInfo.branchName
return `${reposPath}/${eleventyConfig.getFilter("slugify")(repoName)}/branches/${eleventyConfig.getFilter("slugify")(branchName)}/files/${data.fileInfo.file.split('/').map((filePart) => eleventyConfig.getFilter("slugify")(filePart)).join('/')}/`
},
eleventyComputed: {
nav: {314 315 316 317 318 319
permalink: (data) => {
const repoName = data.fileInfo.repoName
const branchName = data.fileInfo.branchName
return `${reposPath}/${eleventyConfig.getFilter("slugify")(repoName)}/branches/${eleventyConfig.getFilter("slugify")(branchName)}/files/${data.fileInfo.file.split('/').map((filePart) => filePart.split('.').map((subPart) => eleventyConfig.getFilter("slugify")(subPart)).join('.')).join('/')}.html`
},
eleventyComputed: {
nav: {178 179 180 181 182
},
"active": "ed8907ba19d17623",
"lastOpenFiles": [
"tasks/branch-globs.md.html",
"tasks",
"page.md",178 179 180 181 182 183
},
"active": "ed8907ba19d17623",
"lastOpenFiles": [
"tasks/branch-globs.md",
"tasks/branch-globs.md.html",
"tasks",
"page.md",25 26
- Goal: have HTML pages generated for user-specified tags in the repo, not
just each branch head.25 26 27 28 29 30 31 32 33 34 35 36
- Goal: have HTML pages generated for user-specified tags in the repo, not
just each branch head.
### Clone repo at first, rather than at the end
- Goal: Clone the repo before site generation starts. Use this cloned repo for all repo actions.
- As a side benefit, this should allow users to clone from a remote repository (like on github) and use their static HTML site as a mirror of that. E.g. the `location` for the repo in the plugin config could be a remote URL.
### Create links consistently with some kind of nav or link helper
- Goal: Links to various pages are being manually created with a hodgepodge of splitting and slugifying strings. Create an easy and consistent way for the virtual template to get a link to the other pages.
- Should be used in places like `file.ts`, `files.ts`, etc.
- Part of this task should also be to avoid slugifying parts of the link that we don't need to. E.g. right now, a folder like `wiki_and_tasks` will get changed to `wiki-and-tasks` (with hyphens instead of underscores) for the URL. But underscores *are* valid for using in a URL, and also, there could also be a folder called `wiki-and-tasks` with hyphens, and they would both be able to exist in the repository.