You are browsing as a guest. Sign up (or log in) to start making projects!

Rustic Pride

  • 7 Devlogs
  • 18 Total hours

A Rust based CLI application that provides information on diffrent LGBTQIAS+ orientations and there flags.

Ship #1

Rustic Pride - A Rust based CLI application that provides information on different LGBTQIAS+ orientations and their flags.

It does exactly what the name says currently. It provides information and flags of different LGBTQIAS+ orientations and terms. All from the MediaWiki powered site `https://lgbtqia.wiki/`.

Currently Rust is needed to be able to install the program, as crates.io is the only distribution method. I debated about how I wanted to distribute this for a while. For one of my other projects, I had used GitHub actions. But I am no-longer using GitHub. Forgejo has actions, though I don't seem to have access to the necessary runners from Git.Gay. Granted I didn't try very hard to figure out how that actually worked. I diffident want to switch back to Windows just for compiling an exe (I switched to my Linux install for the final bit of coding as a celebration of the first release. Don't question my logic or what I find honorable.) and cross-compiling didn't want to work. OS Error 2.

Ratatui is kinda weird to work with. I'm starting to get the hang of it kinda though. After building three programs with it. Slint was a lot easier. But that's not in the terminal. Slint was even pre-ai coding. Ratatui I get to use Claude and Mistral and Gemini (and the amazing documentation Rust crates have) to figure things out. Most of this project's UI I was able to yoink from one of my other projects though. The only entirely custom to this project UI element is the query response page.

  • 7 devlogs
  • 18h
Try project → See source code →
Open comments for this post

3h 2m 48s logged

The first release is here.
.
.
I made the UI look more like I originally wanted, which I am now realizing that I never shared the drawing of. It originally didn’t work very well. The issue was that I am apparently bad at typing numbers. I put the wrong indexing location for some of the widgets / layouts in render_page. That was an easy fix though. The images in this post will show that issue.
,
,
Because of what happened last devlog, I am anticipating that the images will not display very well and have pre-uploaded them to Dropbox for your viewing enjoyment. https://www.dropbox.com/scl/fo/1jxnglincmsw2ji6hybp9/ABBOiI6-PvWQRNzOfEsT32A?rlkey=jh4r8jwidm8mqgjxkxey5xm2z&st=4yolviyf&dl=0
,
,
I debated about how I wanted to distribute this for a while. For one of my other projects (PRTGN, https://git.gay/PRTGN-Development-Team/.prtgn), I had used GitHub actions. But I am no-longer using GitHub. Forgejo has actions, though I don’t seem to have access to the necessary runners from Git.Gay. Granted I didn’t try very hard to figure out how that actually worked. I diffident want to switch back to Windows just for compiling an exe (I switched to my Linux install for the final bit of coding as a celebration of the first release. Don’t question my logic or what I find honorable.) and cross-compiling didn’t want to work. OS Error 2. So I ended up at crates.io. Only downside is one needs Rust to install the program.
,
,
There is still much that can be done, but this application now fully fits its original intent. A Rust based CLI application that provides information on different LGBTQIAS+ orientations and their flags.
,
.
https://git.gay/nova-shadowtail/Rustic-Pride
.
https://crates.io/crates/rustic-pride

The first release is here.
.
.
I made the UI look more like I originally wanted, which I am now realizing that I never shared the drawing of. It originally didn’t work very well. The issue was that I am apparently bad at typing numbers. I put the wrong indexing location for some of the widgets / layouts in render_page. That was an easy fix though. The images in this post will show that issue.
,
,
Because of what happened last devlog, I am anticipating that the images will not display very well and have pre-uploaded them to Dropbox for your viewing enjoyment. https://www.dropbox.com/scl/fo/1jxnglincmsw2ji6hybp9/ABBOiI6-PvWQRNzOfEsT32A?rlkey=jh4r8jwidm8mqgjxkxey5xm2z&st=4yolviyf&dl=0
,
,
I debated about how I wanted to distribute this for a while. For one of my other projects (PRTGN, https://git.gay/PRTGN-Development-Team/.prtgn), I had used GitHub actions. But I am no-longer using GitHub. Forgejo has actions, though I don’t seem to have access to the necessary runners from Git.Gay. Granted I didn’t try very hard to figure out how that actually worked. I diffident want to switch back to Windows just for compiling an exe (I switched to my Linux install for the final bit of coding as a celebration of the first release. Don’t question my logic or what I find honorable.) and cross-compiling didn’t want to work. OS Error 2. So I ended up at crates.io. Only downside is one needs Rust to install the program.
,
,
There is still much that can be done, but this application now fully fits its original intent. A Rust based CLI application that provides information on different LGBTQIAS+ orientations and their flags.
,
.
https://git.gay/nova-shadowtail/Rustic-Pride
.
https://crates.io/crates/rustic-pride

Replying to @hackclub_nutrient623

0
4
Open comments for this post

2h 39m 21s logged

I got the new screen to work!

I am close to a first release.

At first the screen was a bit wonk but after changing a couple of numbers, I fixed it.

Enby is without the fix, trans is with the fix.

Now all that’s left to get a first release, is adding render engine selection so that halfblocks isn’t used for everything, adding a few more user instructions, and making install files. At least as of typing this that’s all that is left.

Next version may see a fancy in-terminal web browser for the link. And maybe some UI cleanups.

I got the new screen to work!

I am close to a first release.

At first the screen was a bit wonk but after changing a couple of numbers, I fixed it.

Enby is without the fix, trans is with the fix.

Now all that’s left to get a first release, is adding render engine selection so that halfblocks isn’t used for everything, adding a few more user instructions, and making install files. At least as of typing this that’s all that is left.

Next version may see a fancy in-terminal web browser for the link. And maybe some UI cleanups.

Replying to @hackclub_nutrient623

0
25
Open comments for this post

1h 50m 9s logged

I abandoned that version of image displaying. Reverted to the working just text from earlier.

Though at least there is text wrapping now. And error handling.

I abandoned that version of image displaying. Reverted to the working just text from earlier.

Though at least there is text wrapping now. And error handling.

Replying to @hackclub_nutrient623

0
8
Open comments for this post

3h 48m 1s logged

Spent this three hours trying to get images to work. I am worse off than I was before starting this segment. Now nothing displays on the output. Codestral was no help in debugging. It just told me to add more logs, which I did because they are useful. Still doesn’t work because nothing was actually changed, still says to add more logs. The cycle repeats.

Tried multiple different terminals with and without WSL. Nothing. I know Konsole should work, and Windows’s terminal, as they work fine in my other programs. But no. Apparently they don’t want to. I know halfblocks works. I have used it before. It is not at all good quality, but it should at least display.

Need to figure that out.

Spent this three hours trying to get images to work. I am worse off than I was before starting this segment. Now nothing displays on the output. Codestral was no help in debugging. It just told me to add more logs, which I did because they are useful. Still doesn’t work because nothing was actually changed, still says to add more logs. The cycle repeats.

Tried multiple different terminals with and without WSL. Nothing. I know Konsole should work, and Windows’s terminal, as they work fine in my other programs. But no. Apparently they don’t want to. I know halfblocks works. I have used it before. It is not at all good quality, but it should at least display.

Need to figure that out.

Replying to @hackclub_nutrient623

0
34
Open comments for this post

2h 25m 49s logged

There is a fully functional JSON API and some formatting now.

I was able to get the header image URL as well.

Now the main thing I need to do is figure out the UI for displaying the information.

I was originally going to use Ratatui-Image for the images, however discovered it doesn’t work very well in Windows.

Normally I am using either WSL or my install of Fedora, so for all my other projects this isn’t particularly an issue. However, I am developing on Windows currently due to some of my other projects. And I want people to be able to use this program in Windows. So I will need to investigate that further.

Though enjoy this video which may or may not work of the current standing of the program.

There is a fully functional JSON API and some formatting now.

I was able to get the header image URL as well.

Now the main thing I need to do is figure out the UI for displaying the information.

I was originally going to use Ratatui-Image for the images, however discovered it doesn’t work very well in Windows.

Normally I am using either WSL or my install of Fedora, so for all my other projects this isn’t particularly an issue. However, I am developing on Windows currently due to some of my other projects. And I want people to be able to use this program in Windows. So I will need to investigate that further.

Though enjoy this video which may or may not work of the current standing of the program.

Replying to @hackclub_nutrient623

0
12
Open comments for this post

1h 46m 32s logged

I almost have Serde working with JSON.

I still need to figure out how to get the information out of the message sent by the mediawiki api.

The problem there is how the API sends information verse how I know how to parse it with Serde. I am currently using a method for parcing which requires telling the program what each level of JSON is. The mediawiki api puts the page ID number in a level above all the information I need. The ID number would change with every diffrent search. You may be able to see how that would be a problem.

Need to figure that one out. And I need to then make the TUI that displays the text. And I should figure out what to do if the program comes back with more than one page. And I need to figure out how I want to display the flags. Probably with ratatui-image, its just a matter of getting it to work with everything else. The only working instance of it I have is in a sub command of PRTGN dedicated to displaying an image (PRTGN_Fox).

I almost have Serde working with JSON.

I still need to figure out how to get the information out of the message sent by the mediawiki api.

The problem there is how the API sends information verse how I know how to parse it with Serde. I am currently using a method for parcing which requires telling the program what each level of JSON is. The mediawiki api puts the page ID number in a level above all the information I need. The ID number would change with every diffrent search. You may be able to see how that would be a problem.

Need to figure that one out. And I need to then make the TUI that displays the text. And I should figure out what to do if the program comes back with more than one page. And I need to figure out how I want to display the flags. Probably with ratatui-image, its just a matter of getting it to work with everything else. The only working instance of it I have is in a sub command of PRTGN dedicated to displaying an image (PRTGN_Fox).

Replying to @hackclub_nutrient623

0
17
Open comments for this post

2h 11m 43s logged

I started work today.

I was able to get the program to a stage where it technically works. It sends an API call to a mediawiki powered site, and gets a response. All through a TUI.

I stole the base of the code from one of my other projects in which I am attempting to accomplish quite a similar thing. The project is called PRTGN if you want to check it out. The command that I stole from is PRTGN_Wiki. https://git.gay/PRTGN-Development-Team

I still need to format the response nicely, and get the other wiki working. And I may add flag support. But like I said, it technically works.

I started work today.

I was able to get the program to a stage where it technically works. It sends an API call to a mediawiki powered site, and gets a response. All through a TUI.

I stole the base of the code from one of my other projects in which I am attempting to accomplish quite a similar thing. The project is called PRTGN if you want to check it out. The command that I stole from is PRTGN_Wiki. https://git.gay/PRTGN-Development-Team

I still need to format the response nicely, and get the other wiki working. And I may add flag support. But like I said, it technically works.

Replying to @hackclub_nutrient623

0
15

Followers

Loading…