{"id":19532378,"url":"https://github.com/esimkowitz/dev-widgets","last_synced_at":"2025-10-26T16:12:38.532Z","repository":{"id":170700939,"uuid":"646899903","full_name":"esimkowitz/dev-widgets","owner":"esimkowitz","description":"Collection of useful conversions and widgets implemented as a portable Rust app","archived":false,"fork":false,"pushed_at":"2025-06-11T05:28:34.000Z","size":1019,"stargazers_count":17,"open_issues_count":23,"forks_count":2,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-06-11T06:31:50.177Z","etag":null,"topics":["developer-tools","devtoys","dioxus","portable","rust","single-page-app","tools","wasm","widget"],"latest_commit_sha":null,"homepage":"https://widgets.fyi/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/esimkowitz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-05-29T15:40:37.000Z","updated_at":"2025-06-11T05:28:36.000Z","dependencies_parsed_at":"2023-11-29T03:31:15.722Z","dependency_job_id":"193842c2-c236-412e-b780-1b18749a9566","html_url":"https://github.com/esimkowitz/dev-widgets","commit_stats":null,"previous_names":["esimkowitz/dev-widgets"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/esimkowitz/dev-widgets","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esimkowitz%2Fdev-widgets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esimkowitz%2Fdev-widgets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esimkowitz%2Fdev-widgets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esimkowitz%2Fdev-widgets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/esimkowitz","download_url":"https://codeload.github.com/esimkowitz/dev-widgets/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esimkowitz%2Fdev-widgets/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265791591,"owners_count":23829161,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["developer-tools","devtoys","dioxus","portable","rust","single-page-app","tools","wasm","widget"],"created_at":"2024-11-11T01:50:38.967Z","updated_at":"2025-10-10T16:41:07.037Z","avatar_url":"https://github.com/esimkowitz.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dev-widgets\n\n## Overview\n\nCollection of useful conversions and widgets built as a pure Rust app on the [Dioxus framework](https://github.com/DioxusLabs/dioxus).\n\nThe following widgets are now stable:\n\n* Number Base Converter\n* Base64 Encoder/Decoder\n* QR Code Generator\n* Date/Timestamp Converter\n* UUID Generator\n* Hash Generator\n* CIDR Decoder\n* Color Picker\n\n## Development Setup\n\nIf you haven't already, [install Rust](https://www.rust-lang.org/tools/install).\n\nFollow the Dioxus instructions to [install platform-specific dependencies](https://dioxuslabs.com/docs/0.3/guide/en/getting_started/desktop.html#platform-specific-dependencies).\n\nInstall the Dioxus CLI:\n\n```bash\ncargo install dioxus-cli\n```\n\nClone this repository and enter its root directory.\n\n## Desktop App\n\nThe primary target for this project is a universal desktop app. Currently, it has been manually validated on macOS and Windows. I plan to setup automated releases soon.\n\n### Run app from command-line\n\nRun `cargo run` to start the application. The first build should take a couple minutes as it fetches Bootstrap and all other Rust packages, subsequent builds should only take a few seconds.\n\nIf you would like to enable hot-reloading, you can do so by setting the `USE_HOT_RELOAD` flag in [main.rs](src/main.rs). This is only necessary for the desktop app, hot-reload is on by default for web development.\n\n### Bundle app\n\nYou can bundle the app into an executable for your platform using the Dioxus CLI\n\n```bash\ndx bundle --platform desktop --release\n```\n\n## Web App\n\n[![Build static site](https://github.com/esimkowitz/dev-widgets/actions/workflows/build-site.yml/badge.svg)](https://github.com/esimkowitz/dev-widgets/actions/workflows/build-site.yml)\n\nDev Widgets now works as a web app! You can find it hosted at \u003chttps://widgets.fyi\u003e. It will stay up to date with the main branch using GitHub Actions.\n\n### Run from command line - Dioxus CLI\n\nYou can run the web app locally using the [dioxus-cli](https://github.com/DioxusLabs/dioxus/tree/master/packages/cli):\n\n```bash\ndx serve --platform web\n```\n\nThis will automatically enable hot-reloading for any changes you make to the source code.\n\n### Validate release buld\n\nWhen packaging for release, I use the Dioxus CLI:\n\n```bash\ndx build --platform web --release\n```\n\n## Roadmap\n\nThis app is heavily inspired by [DevToys](https://github.com/veler/DevToys) and [DevToysMac](https://github.com/ObuchiYuki/DevToysMac) and my roadmap for widgets I plan to support will align with these projects.\n\nCurrently, I have only validated on macOS, and performed very crude validations on Windows, though I now have a fairly stable programming model so I plan to set up some automated testing for macOS, Windows, and Linux soon, as well as start publishing releases.\n\nI also plan to publish this as a single-page application using dioxus-web and Github Pages.\n\nI will be tracking new development in the [dev-widgets project board](https://github.com/users/esimkowitz/projects/2). New widgets will be organized under the \"Widgets\" area, and all other development will be tracked under the \"Platform\" area.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesimkowitz%2Fdev-widgets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fesimkowitz%2Fdev-widgets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesimkowitz%2Fdev-widgets/lists"}