Idea I have for a tool that might be useful might not: Concept is you feed it your top level directory. It lists all your subdirectories in that and lets you hit a button and it goes through EVERY file and if it's an index.gmi it puts at the foot of the file links to any directory's index.gmi above it with the directory name (listing top level domain as Home.) Any non index.gmi file gets a footer that links back to that directory's index.gmi file. Note: Those footer behaviors SHOULD be editable, but i'm talking about what the thing would do by default. I would also want this program to make GMI files where you can type out the thing, then at the end hit button to automatically add your footer text as appropriate. Also would like to have a feature that allows you to select text and hit a button for it to turn it into ascii art (since i know a tool for that exists) for the sake of making top of page interesting text (would by default put the source text as the mouseover text for screen readers or anyone who has unformatted text collapsed by default.) Is... this too complex a beginner project for someone learning code? It fills a convenience I would like, but at the same time I don't know if anyone else would find it useful.
On Tue, Aug 31, 2021, at 2:47 PM, Andrew Singleton wrote: > Idea I have for a tool that might be useful might not: > > Concept is you feed it your top level directory. > > It lists all your subdirectories in that and lets you hit a button and > it goes through EVERY file and if it's an index.gmi it puts at the > foot of the file links to any directory's index.gmi above it with the > directory name (listing top level domain as Home.) I bet somebody could implement this as a shell script. Traversing the directory tree could be handled with the following commands, where $CAPSULE is the top-level directory. to get index.gmi files: find ${CAPSULE} -type f -name 'index.gmi' to get other gemtext files while excluding index.gmi: find ${CAPSULE} -type f -name '*.gmi' ! -name 'index.gmi' If you want to make this a GUI app, that would be more complicated. Dunno if a beginner could manage it; but I haven't been one in over 20 years so maybe? -- Matthew Graybosch gemini://starbreaker.org "The lies you tell yourself are the lies that define you." #include <disclaimer.h>
Hi Andrew, I've set up something similar while in the process of making my capsule[1]. I have a front page, /index.gmi, a header and footer, /header.gmi and /footer.gemi respectively, and a number of posts in /posts/. Running `make build` will add the header and footer to all gemini documents (index and posts) as well as add links to all the posts in the index. It does some swizzling as well to convert snake_case and kebab-case file names into Title Case for the "pretty link name". Lastly, if you create the post with `make post title=my-new-post-title` it will prepend the date to both the post title and link. This is recommended to keep posts ordered as well. Hope this helps, Andrew Thorp [1] (https://git.sr.ht/~athorp96/gemini-thorp.dev)
---
Previous Thread: More Awesome Gemini
Next Thread: Subject: Re: Hi, I am new and I have created Gemini library