From b481753526d923ab53b54e4e2e13414e6c97ecbb Mon Sep 17 00:00:00 2001 From: jelveh Date: Fri, 1 May 2026 19:46:20 -0700 Subject: [PATCH] Remove obsolete GUI docs and .idx files --- .idx/dev.nix | 57 -------------------- .idx/icon.png | Bin 74206 -> 0 bytes src/gui/doc/el().md | 89 -------------------------------- src/gui/doc/utils.md | 44 ---------------- src/gui/doc/webpack_attempts.md | 81 ----------------------------- 5 files changed, 271 deletions(-) delete mode 100644 .idx/dev.nix delete mode 100644 .idx/icon.png delete mode 100644 src/gui/doc/el().md delete mode 100644 src/gui/doc/utils.md delete mode 100644 src/gui/doc/webpack_attempts.md diff --git a/.idx/dev.nix b/.idx/dev.nix deleted file mode 100644 index 6d5bdb7ba..000000000 --- a/.idx/dev.nix +++ /dev/null @@ -1,57 +0,0 @@ -# To learn more about how to use Nix to configure your environment -# see: https://developers.google.com/idx/guides/customize-idx-env -{ pkgs, ... }: { - # Which nixpkgs channel to use. - channel = "stable-25.05"; # or "unstable" - - # Use https://search.nixos.org/packages to find packages - packages = [ - pkgs.python3 - pkgs.nodejs_24 - ]; - - # Sets environment variables in the workspace - env = {}; - idx = { - # Search for the extensions you want on https://open-vsx.org/ and use "publisher.id" - extensions = [ - # "vscodevim.vim" - ]; - - # Enable previews and customize configuration - previews = { - # Currently disabled because the preview system wasn't working - enable = false; - previews = { - web = { - command = [ - "npm" - "run" - "start" - "--" - "--port" - "$PORT" - "--host" - "0.0.0.0" - "--disable-host-check" - ]; - manager = "web"; - }; - }; - }; - - # Workspace lifecycle hooks - workspace = { - # Runs when a workspace is first created - onCreate = { - # npm-install = "npm install"; - # Currently disabled because the preview system wasn't working - }; - # Runs when the workspace is (re)started - onStart = { - # npm-install = "npm install"; - # Currently disabled because the preview system wasn't working - }; - }; - }; -} diff --git a/.idx/icon.png b/.idx/icon.png deleted file mode 100644 index ce744ea7a697a9340c67525cfa7d3c480e7e3544..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74206 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 d{iw **note:** this is _new_. You might try to do things that intuitively should work and they won't. You might have to add support for some attribute in `UIElement.el` itself. Just remember; you don't have to. It's still the DOM API, so you can call a method on the element or pass it to `$(...)` to get some real work done. - -## The Premise - -`el()` is the element creator. It is a utility function built on the idea that the primary reason developers don't use the DOM API is simply because it's too verbose to be convenient. `el()` is to `document.createElement()` as jquery is to your for loops and recursive functions. - -Furthermore, it is perhaps possible that sometimes developers flock to complex frameworks such as React; Angular; and many more, even for relatively simple applications, simply because using the DOM API directly "just feels wrong". - -## The Hello World - -Let's start with a simple example of creating a div with a class and some text. Using the DOM API directly, it would look like this: -```javascript -const my_div = document.createElement('div'); -my_div.classList.add('my-class'); -my_div.innerText = 'some text'; -``` - -Using `el()`, we can do the same as above like this: -```javascript -const my_div = el('div.my-class', { - text: 'hello world' -}); -``` - -That's a lot nicer, isn't it? - -When calling `el`, you provide a **descriptor** containing your tag name, classes, id; you do this using the same format as a selector. Using the selector format for this wasn't my idea - I stole it from Pug/Jade. In this example we also pass an object with a `text` attribute. `text` assigns `.innerText` on the element, making it XSS-proof. - -## The "What about HTML?" - -"but wait!", I hear you say, "HTML strings are still cleaner!". Tools like JSX have made it possible to use HTML syntax within javascript code and avoid caveats such as XSS vulnerabilities. That's great, but you're then forced to either bring in the tooling of a larger framework or build your own framework around JSX. It may seem worth it though; in HTML, you would write the examples above like this: -```html -
some text
-``` - -Putting the previous example with `el()` on a single line, we see that it's a little longer. - -```javascript -el('div.myclass', { text: 'hello wolrd' }); -``` - -However, for `div`, the most common element, you don't actually need to specify the tag name. - -```javascript -el('.myclass', { text: 'hello world' }); -``` - -Also, the second string is considered the inner-text. - -```javascript -el('.myclass', 'hello world'); -``` - -Maybe this specific example gives `el()` an advantage, but there's a good reason that it would: a `div` with some text in it is likely the second-most common element on your page; second only to divs containing other divs. - -## Nesting - -The `el` function accepts an array argument. Array arguments are expected to be arrays of DOM elements (that's what `el()` itself returns). This means you can call `el` multiple times inside an array to construct arbitrary trees. - -```javascript -el([ el(), el() ]) -//
-``` - -Okay, my comment with the hard-to-read div nesting is a little unfair; you'd probably write the HTML with proper indentation and such: - -```html -
-
-
-
-``` - -```javascript -el([ - el(), - el() -]) -``` - -## Passing the Parent - -If you pass a DOM element as the first argument, it will be treated as the parent element. This is, `parent_el.appendChild(new_el)` will be called before you get your `new_el`. - -```javascript -el(some_parent_el, 'h1', 'Hello!'); -``` diff --git a/src/gui/doc/utils.md b/src/gui/doc/utils.md deleted file mode 100644 index 2b2116c22..000000000 --- a/src/gui/doc/utils.md +++ /dev/null @@ -1,44 +0,0 @@ -# utils.js — GUI Build Script (Overview) - -This file is responsible for: -- Generating production and development builds of the GUI -- Merging and minifying JS/CSS files -- Converting icon files to base64 -- Bundling core GUI logic using Webpack -- Generating the HTML structure dynamically for development mode - -## Main Functions - -### 🔧 build(options) -Runs the full GUI build process. - -**Steps it performs:** -1. Deletes and recreates the `/dist` folder -2. Merges JavaScript libraries → `dist/libs.js` -3. Converts all `src/icons/*.svg/png` to base64 → stores in `window.icons` -4. Merges and minifies CSS → `dist/bundle.min.css` -5. Uses Webpack to bundle `src/index.js` and dependencies → `dist/main.js` -6. Prepends `window.gui_env = "prod"` and writes it as `dist/gui.js` -7. Copies static assets like images, fonts, manifest, etc. - -### 🛠️ generateDevHtml(options) -Dynamically builds the HTML string for development mode. - -**What it includes:** -- Meta tags (SEO + social) -- CSS & JS includes (based on env) -- Inline base64 image data -- JS entry points for dev (`/index.js`) or prod (`/dist/gui.js`) - ---- - -## Related Files - -| File | Role | -|------------------|---------------------------------------| -| `build.js` | Just imports and calls `build()` | -| `BaseConfig.cjs` | Provides Webpack config used in build | -| `static-assets.js` | Lists paths to JS, CSS, icons, etc | - ---- - diff --git a/src/gui/doc/webpack_attempts.md b/src/gui/doc/webpack_attempts.md deleted file mode 100644 index 58af80b53..000000000 --- a/src/gui/doc/webpack_attempts.md +++ /dev/null @@ -1,81 +0,0 @@ -Multiple things attempted when trying to add icons to the bundle. - -None of this worked - eventually just prepended text on emit instead. - -```javascript - // compilation.hooks.processAssets.tap( - // { - // name: 'AddImportPlugin', - // stage: compiler.webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS, - // }, - // (assets) => { - // for (const assetName of Object.keys(assets)) { - // if (assetName.endsWith('.js')) { - // const source = assets[assetName].source(); - // const newSource = `${icons}\n${source}`; - // compilation.updateAsset(assetName, new compiler.webpack.sources.RawSource(newSource)); - // } - // } - // } - // ); - - // Inject into bundle - // console.log('adding this:' + icons); - // compilation.assets['icons-thing'] = { - // source: () => icons, - // size: () => icons.length, - // }; - - // compilation.addModule({ - // identifier() { - // return 'icons-thing'; - // }, - // build() { - // this._source = { - // source() { - // return content; - // }, - // size() { - // return content.length; - // } - // }; - // } - // }); - - - // Add the generated module to Webpack's internal modules - // compilation.hooks.optimizeModules.tap('IconsPlugin', (modules) => { - // const virtualModule = { - // identifier: () => 'icons.js', - // readableIdentifier: () => 'icons.js', - // build: () => {}, - // source: () => icons, - // size: () => icons.length, - // chunks: [], - // assets: [], - // hash: () => 'icons', - // }; - - // modules.push(virtualModule); - // }); - -}); -// this.hooks.entryOption.tap('IconsPlugin', (context, entry) => { -// entry.main.import.push('icons-thing'); -// }); -// this.hooks.make.tapAsync('InjectTextEntryPlugin', (compilation, callback) => { -// // Create a new asset (fake module) from the generated content -// const content = `console.log('${this.options.text}');`; - -// callback(); -// }); -// this.hooks.entryOption.tap('IconsPlugin', (context, entry) => { -// }); -// this.hooks.entryOption.tap('InjectTextEntryPlugin', (context, entry) => { -// // Add this as an additional entry point -// this.options.entry = { -// ...this.options.entry, -// 'generated-entry': '// FINDME\n' -// }; -// }); -``` \ No newline at end of file