fix files links and add more task descriptions

b438caba1f0df3a2328bc39a19303f5895a28f32

Tucker McKnight | Sun Jan 04 2026

fix files links and add more task descriptions
js_templates/file.ts:26
Before
26
                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>`
After
26
                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>`
js_templates/file.ts:45
Before
45
              <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>
After
45
              <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>
js_templates/files.ts:25
Before
25
            <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>
After
25
            <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>
main.ts:315
Before
315
        return `${reposPath}/${eleventyConfig.getFilter("slugify")(repoName)}/branches/${eleventyConfig.getFilter("slugify")(branchName)}/files/${data.fileInfo.file.split('/').map((filePart) => eleventyConfig.getFilter("slugify")(filePart)).join('/')}/`
After
315
        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`
wiki_and_tasks/.obsidian/workspace.json:179
Before
179
After
179
    "tasks/branch-globs.md",
wiki_and_tasks/index.md:26
Before
26
After
26

### 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.