Files snapshot from main
These markdown files are used to keep track of tasks like an issue tracker.
Right now I'm just using this space to brainstorm improvements to the repo. The goal is to eventually have extensive documentation here.
Note: to link to other pages, add a
.htmlto the end of the page you are linking to. When the site is rendered, markdown files get rendered at a URL likepath/to/file.md.html. So to link to that page, do[link text](./path/to/file.md.html).
file.ts, files.ts, etc.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.copyTo to have variable interpolation in it, for totally
custom directory pathsmithril-server-side-renderingmark-mergesdeploy/**) instead of spelling out every branch name in full in their config fileclone-earlylocation for the repo in the plugin config could be a remote URL.1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
b3ebf3 Tucker McKnight
b3ebf3 Tucker McKnight
b3ebf3 Tucker McKnight
b3ebf3 Tucker McKnight
b3ebf3 Tucker McKnight
b3ebf3 Tucker McKnight
b3ebf3 Tucker McKnight
b3ebf3 Tucker McKnight
b3ebf3 Tucker McKnight
b3ebf3 Tucker McKnight
b3ebf3 Tucker McKnight
b3ebf3 Tucker McKnight
d221d2 Tucker McKnight
b3ebf3 Tucker McKnight
b3ebf3 Tucker McKnight
b3ebf3 Tucker McKnight
b3ebf3 Tucker McKnight
d3f44b Tucker McKnight
d3f44b Tucker McKnight
d3f44b Tucker McKnight
b3ebf3 Tucker McKnight
b3ebf3 Tucker McKnight
b3ebf3 Tucker McKnight
b3ebf3 Tucker McKnight
b3ebf3 Tucker McKnight
b3ebf3 Tucker McKnight
b3ebf3 Tucker McKnight
b3ebf3 Tucker McKnight
b3ebf3 Tucker McKnight
b3ebf3 Tucker McKnight
b3ebf3 Tucker McKnight
0be3b7 Tucker McKnight
0be3b7 Tucker McKnight
0be3b7 Tucker McKnight
0be3b7 Tucker McKnight
0be3b7 Tucker McKnight
b4dcf8 Tucker McKnight
b4dcf8 Tucker McKnight
b4dcf8 Tucker McKnight
b4dcf8 Tucker McKnight
b4dcf8 Tucker McKnight
559029 Tucker McKnight
559029 Tucker McKnight
841651 Tucker McKnight
3044e9 Tucker McKnight
d221d2 Tucker McKnight
d221d2 Tucker McKnight
d221d2 Tucker McKnight
9ab86c Tucker McKnight
e9ef29 Tucker McKnight
e9ef29 Tucker McKnight
e9ef29 Tucker McKnight
e9ef29 Tucker McKnight
b4dcf8 Tucker McKnight
b4dcf8 Tucker McKnight
b4dcf8 Tucker McKnight
3c24cd Tucker McKnight
f72d85 Tucker McKnight
f72d85 Tucker McKnight
f72d85 Tucker McKnight
f72d85 Tucker McKnight
f72d85 Tucker McKnight
f72d85 Tucker McKnight
f72d85 Tucker McKnight
d3f44b Tucker McKnight
d3f44b Tucker McKnight
9ab86c Tucker McKnight
9ab86c Tucker McKnight
9ab86c Tucker McKnight
9ab86c Tucker McKnight
9ab86c Tucker McKnight
9ab86c Tucker McKnight
9ab86c Tucker McKnight
9ab86c Tucker McKnight
9ab86c Tucker McKnight
d221d2 Tucker McKnight
d221d2 Tucker McKnight
d221d2 Tucker McKnight
d221d2 Tucker McKnight
d221d2 Tucker McKnight
b4dcf8 Tucker McKnight
b4dcf8 Tucker McKnight
b4dcf8 Tucker McKnight
b4dcf8 Tucker McKnight
b4dcf8 Tucker McKnight
b4dcf8 Tucker McKnight
# Wiki and Tasks
These markdown files are used to keep track of tasks like an issue tracker.
Right now I'm just using this space to brainstorm improvements to the repo.
The goal is to eventually have extensive documentation here.
> Note: to link to other pages, add a `.html` to the end of the page you
> are linking to. When the site is rendered, markdown files get rendered
> at a URL like `path/to/file.md.html`. So to link to that page, do
> `[link text](./path/to/file.md.html)`.
## Works in Progress
- [ ] Tag snapshots
- Goal: have HTML pages generated for user-specified tags in the repo, not
just each branch head.
## Ideas and Todos
- [ ] 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.
- [ ] better separation of base features and default template
- make sure that buildSteps can copy things into directories that weren't
created as part of the site generation.
- Maybe allow `copyTo` to have variable interpolation in it, for totally
custom directory paths
- [ ] Create shortcodes that allow 11ty blog posts to reference commits
- Seems like this could work well for embedding code (specifying line ranges?) in
blog posts.
- Could also know which commits or files are referenced by blog posts, and show those
posts when browsing the code.
- [ ] Better file display if syntax highlighting plugin is not available
- Seems to print out all on one line right now.
- [ ] document (or fix?) that it fails if the compareTo branch isn't one of the pulled branches
(or a specified branch?
- [ ] make the useDefaultTemplate option actually be used
- [ ] Compute language bar graph based on lines of code, not count of files
- Also make a way for users to ignore certain files or filetypes
- [ ] Amending a commit can make it incorrectly show up as being in one branch but not the other (see e6bbc544eb7000015a)
- [ ] Change URL scheme for snapshotted pages to account for:
- branch snapshots
- tag snapshots
- commit snapshots (i.e. when they are mentioned in a blog post)
### Completed
- [x] Sorting branch list dropdown by last commit isn't sorting correctly
- [x] get rid of lodash
- [Project page](./projects/node-18.md.html)
- also use globs npm module instead of built-in node version, built-in requires
node 20+.
- add a Dockerfile for node 18, which is the lowest 11ty supports, and see if
this is useable on that.
- lodash is one of the larger (largest?) dependencies right now. With mithril auto-escaping strings, it might not be necessary anymore. Look into which things actually need to be escaped (e.g. any user-input from commit messages) and see if we can just rely on mithril to escape those
- [x] Make merged commits show up in the commits list and commit page.
- These don't show up as anything right now
- [x] Better Template Readability
- git-branch: `mithril-server-side-rendering`
- Goal: Do not simply have a bunch of strings as the HTML for the default virtual
template. Maybe look into using mithril for server-side rendering?
- This will also make the code look much less "ewww" for possible new contributors.
- Also allows typescript to help out more.
- [x] Indicate which branches are "closed"
- Put them separately on the branches page if they are zero commits ahead of main?
- branch was `mark-merges`
- [x] Show how many commits are different between the given branch and the main
(or a specified branch?
- [x] Branch Globs
- Goal: allow users to specify a glob pattern (like `deploy/**`) instead of spelling out every branch name in full in their config file
- [Project page](./projects/branch-globs.md.html)
- [x] Clone repo at first, rather than at the end
- git branch: `clone-early`
- [Project page](./projects/clone-early.md.html)
- 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.
- ==This might need to be done before branch globs and tags==