Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Description on how to contribute to the project #94

Open
benjaminfoo opened this issue Nov 20, 2024 · 1 comment
Open

Description on how to contribute to the project #94

benjaminfoo opened this issue Nov 20, 2024 · 1 comment

Comments

@benjaminfoo
Copy link

Hello there,

great project you've created there - I am just looking for some information, so not a "real" issue here:

How do you develop this page? As the index.html contains 20k of lines, its a lot of code to read when looking into the project.
Is this just a compilation of multiple files? If it is, are those files available? Or do you really just update the index page? Is there a reason for not segmenting the logic and style into multiple files?

I'd really like to support the development of the UI on this project - so thank you in advance!

@LostRuins
Copy link
Owner

Actually there are no other files, it really is just one massive html file.
Of course, it was a lot smaller when I started. Many things have been added since.

The reason why I did it this was is for a few reasons, some intentional and some incidental.

  • I wanted maximum portability in any environment. That means not loading external images, CSS or JS resources at runtime, everything the program needs should be bundled together so it can be instantly dropped in and used anywhere with no dependencies.
  • I wanted something easy to edit and iterate on. That means using Vanilla JS instead of more customized frameworks - any change can be instantly tweaked directly.
  • Adding to the above point, that meant no build process, so no webpack. This keeps class and ID names fixed so mods can work across multiple versions, and simple to modify as anyone with a plain text editor can modify whatever they need, with no build pipeline.

As for how I develop it, I simply use VSCode and add or change whatever I need in this file. It is a little messy and I do want to eventually reorganize it a bit, but most of the internal functions are segmented somewhat logically. You have your CSS classes and styles at the very top, base64 encoded resources for images/sounds/etc, JS constants such as url endpoints, followed by the various features split into individual functions, then finally the html skeleton at the bottom.

If there's something in particular you wanna add or modify I can help direct you to where it can be found/added/changed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants