{"id":13747495,"url":"https://github.com/gavinlaking/vedeu","last_synced_at":"2025-05-09T08:33:23.545Z","repository":{"id":15906875,"uuid":"18648455","full_name":"gavinlaking/vedeu","owner":"gavinlaking","description":"A framework written in Ruby for building GUI/TUI terminal/console applications.","archived":false,"fork":false,"pushed_at":"2023-02-28T10:12:43.000Z","size":8087,"stargazers_count":577,"open_issues_count":15,"forks_count":35,"subscribers_count":18,"default_branch":"master","last_synced_at":"2024-05-11T21:20:58.578Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"saturngod/IAPHelper","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gavinlaking.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2014-04-10T19:13:18.000Z","updated_at":"2024-02-24T13:00:44.000Z","dependencies_parsed_at":"2022-09-24T05:41:23.764Z","dependency_job_id":"b9286abb-31d8-4f71-b5e2-0df092ae3861","html_url":"https://github.com/gavinlaking/vedeu","commit_stats":{"total_commits":4872,"total_committers":10,"mean_commits":487.2,"dds":"0.11268472906403937","last_synced_commit":"ac420b9f17a9e25454e85a85f101dff6d54ae72e"},"previous_names":[],"tags_count":271,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavinlaking%2Fvedeu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavinlaking%2Fvedeu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavinlaking%2Fvedeu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavinlaking%2Fvedeu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gavinlaking","download_url":"https://codeload.github.com/gavinlaking/vedeu/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253217324,"owners_count":21873067,"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":[],"created_at":"2024-08-03T06:01:31.253Z","updated_at":"2025-05-09T08:33:23.026Z","avatar_url":"https://github.com/gavinlaking.png","language":"Ruby","funding_links":[],"categories":["Happy Exploring 🤘","Ruby"],"sub_categories":[],"readme":"[![Code Climate](https://codeclimate.com/github/gavinlaking/vedeu.png)](https://codeclimate.com/github/gavinlaking/vedeu)\n[![Build Status](https://travis-ci.org/gavinlaking/vedeu.svg?branch=master)](https://travis-ci.org/gavinlaking/vedeu)\n\n# Vedeu\n\nVedeu (vee-dee-you; aka VDU) is my attempt at creating a terminal based\n application framework without the need for Ncurses. I've tried to make Vedeu\n as simple and flexible as possible.\n\n## Requirements\n\n- Ruby (see [.ruby-version](https://github.com/gavinlaking/vedeu/blob/master/.ruby-version) for current version)\n- Linux/MacOSX\n\n**Note**: You may have trouble running Vedeu with Windows installations. (Pull\n requests welcome!)\n\n## Dependencies\n\nVedeu relies on the following gems, these will be automatically\n installed when you install Vedeu (as documented below).\n\n- bundler\n- rake\n- vedeu_cli\n  - thor\n\n## Installation\n\nTo install Vedeu, simply:\n\n    gem install vedeu\n\nTo use Vedeu's application scaffolding, see the\n[RubyDoc](http://www.rubydoc.info/gems/vedeu/file/docs/getting_started.md)\n\n## Example\n\nHave a look at: [Playa](https://github.com/gavinlaking/playa). Please browse the\nsource of Playa and Vedeu to get a feel for how it all works.\n\n**Note**: Playa is based on an old version of Vedeu. Vedeu has significantly\n improved since then and a better example is coming soon!\n\nIf you have produced software which uses Vedeu, please let me know, I'll link\nto your project here.\n\n## Documentation \u0026 Usage\n\nVedeu is documented using Yard. I hope to produce more 'General Usage'\ndocumentation shortly. In the meantime, please browse the\n[RubyDoc](http://rubydoc.info/gems/vedeu). Finally, here is some\ndocumentation for the various aspects of Vedeu (not comprehensive):\n\n- [The Vedeu API](http://rubydoc.info/gems/vedeu/file/docs/api.md)\n- [Borders](http://rubydoc.info/gems/vedeu/file/docs/borders.md)\n- [Buffers](http://rubydoc.info/gems/vedeu/file/docs/buffer.md)\n- [Cell](http://rubydoc.info/gems/vedeu/file/docs/cell.md)\n- [Chars](http://rubydoc.info/gems/vedeu/file/docs/chars.md)\n- [Colours \u0026 Styles](http://rubydoc.info/gems/vedeu/file/docs/colours_styles.md)\n- [Configuration](http://rubydoc.info/gems/vedeu/file/docs/configuration.md)\n- [Cursors](http://rubydoc.info/gems/vedeu/file/docs/cursors.md)\n- [The Vedeu DSL](http://rubydoc.info/gems/vedeu/file/docs/dsl.md)\n- [Events](http://rubydoc.info/gems/vedeu/file/docs/events.md)\n    - [Application Events](http://rubydoc.info/gems/vedeu/file/docs/events/application.md)\n    - [Document Events](http://rubydoc.info/gems/vedeu/file/docs/events/document.md)\n    - [Focus Events](http://rubydoc.info/gems/vedeu/file/docs/events/focus.md)\n    - [Menu Events](http://rubydoc.info/gems/vedeu/file/docs/events/menu.md)\n    - [Movement Events](http://rubydoc.info/gems/vedeu/file/docs/events/movement.md)\n    - [Refresh Events](http://rubydoc.info/gems/vedeu/file/docs/events/refresh.md)\n    - [System Events](http://rubydoc.info/gems/vedeu/file/docs/events/system.md)\n    - [View Events](http://rubydoc.info/gems/vedeu/file/docs/events/view.md)\n    - [Visibility Events](http://rubydoc.info/gems/vedeu/file/docs/events/visibility.md)\n- [Geometry](http://rubydoc.info/gems/vedeu/file/docs/geometry.md)\n- [Getting Started](http://rubydoc.info/gems/vedeu/file/docs/getting_started.md)\n- [Groups](http://rubydoc.info/gems/vedeu/file/docs/group.md)\n- [Input](http://rubydoc.info/gems/vedeu/file/docs/input.md)\n- [Interfaces](http://rubydoc.info/gems/vedeu/file/docs/.md)\n- [Keymaps](http://rubydoc.info/gems/vedeu/file/docs/keymaps.md)\n- [Lines](http://rubydoc.info/gems/vedeu/file/docs/lines.md)\n- [Object Graphs](http://rubydoc.info/gems/vedeu/file/docs/object_graph.md)\n- [Output](http://rubydoc.info/gems/vedeu/file/docs/output.md)\n- [Streams](http://rubydoc.info/gems/vedeu/file/docs/streams.md)\n- [Template](http://rubydoc.info/gems/vedeu/file/docs/template.md)\n- [Views](http://rubydoc.info/gems/vedeu/file/docs/view.md)\n\nThere are also some small, simple applications in the\n[examples/](https://github.com/gavinlaking/vedeu/blob/master/examples)\ndirectory to show some concepts and basic functionality. This is not\nexhaustive, but are being added to and improved fairly regularly.\n\n## Development / Contributing\n\n* Documentation hosted at [RubyDoc](http://rubydoc.info/gems/vedeu).\n* Source hosted at [GitHub](https://github.com/gavinlaking/vedeu).\n\nPull requests are very welcome! Please try to follow these simple rules if\n applicable:\n\n* Please create a topic branch for every separate change you make.\n* Make sure your patches are well tested.\n* Update the [Yard](http://yardoc.org/) documentation.\n  (Use `yard stats --list-undoc` to locate undocumented code)\n* Update the\n  [README](https://github.com/gavinlaking/vedeu/blob/master/README.md),\n  if appropriate.\n* Please **do not change** the version number.\n\nRaising issues and finding bugs, updating documentation and improving\n the code are all welcome contributions. I may also have left some TODO\n items lying around, which you're quite welcome to and can find\n with either Yard, or git:\n\n    yard list --query '@todo'\n\n    git grep --line-number '@todo'\n\n\nAny branch on the repository that is not `master` is probably experimental; do\n not rely on anything in these branches. Typically, `twerks` will be merged\n into `master` before a release, and branches prefixed with `spike/` are me\n playing with ideas- they aren't guaranteed to work at all.\n\nVarious environment variables are available to you to help with testing, all of\n which can be used in combination, prefaced to `rake`:\n\n- Produce statistics on the slowest performing parts of the\n  application/tests. Useful when used multiple times. See\n  `test/test_helper.rb` for configuration.\n\n        PERFORMANCE=1 rake\n\n- Produce a 'SimpleCov' test coverage report in the `coverage/`\n  directory.\n\n        SIMPLECOV=1 rake\n\n- Produces a 'SimpleCov' test coverage report with output to the\n  console.\n\n        CONSOLE_COVERAGE=1 rake\n\n- Enable Ruby's warnings mode (this can usually be quote verbose, but\n  thankfully more so with gem dependencies rather than Vedeu itself).\n\n        WARNINGS=1 rake\n\n- Disable Ruby's garbage collection for this test run.\n\n        DISABLE_GC=1 rake\n\n- Use Rubocop to catch coding misdemeanours for this test run. (Or\n  use `rake rubocop`).\n\n        RUBOCOP=1 rake\n\n- Build the Yard documentation for the project. (Or use `rake yard`).\n\n        YARD=1 rake\n\n\n### General contribution help\n\n1. Fork it ([https://github.com/gavinlaking/vedeu/fork](https://github.com/gavinlaking/vedeu/fork))\n2. Clone it\n3. Run `bundle`\n4. Run `rake` (runs all tests and coverage report) or `bundle exec guard`\n5. Create your feature branch (`git checkout -b my-new-feature`)\n6. Write some tests, write some code, **have some fun!**\n7. Commit your changes (`git commit -am 'Add some feature'`)\n8. Push to the branch (`git push origin my-new-feature`)\n9. Create a new pull request.\n\n## Author \u0026 Contributors\n\n### Author\n\n[Gavin Laking](https://github.com/gavinlaking)\n ([@gavinlaking](http://twitter.com/gavinlaking))\n\n### Contributors\n\n[https://github.com/gavinlaking/vedeu/graphs/contributors](https://github.com/gavinlaking/vedeu/graphs/contributors)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgavinlaking%2Fvedeu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgavinlaking%2Fvedeu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgavinlaking%2Fvedeu/lists"}