{"id":18562758,"url":"https://github.com/ruby-processing/jrubyart","last_synced_at":"2025-04-07T17:08:30.778Z","repository":{"id":44900416,"uuid":"20954410","full_name":"ruby-processing/JRubyArt","owner":"ruby-processing","description":"JRubyArt a ruby implementation of processing","archived":false,"fork":false,"pushed_at":"2023-03-27T22:21:34.000Z","size":7363,"stargazers_count":89,"open_issues_count":2,"forks_count":9,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-04-25T19:20:44.854Z","etag":null,"topics":["art","creative-coding","generative-art","graphics","jruby","jrubyart","processing","ruby","sound","video"],"latest_commit_sha":null,"homepage":"https://ruby-processing.github.io/JRubyArt/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ruby-processing.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE.md","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}},"created_at":"2014-06-18T08:10:07.000Z","updated_at":"2024-06-19T04:02:13.774Z","dependencies_parsed_at":"2024-06-19T04:02:11.941Z","dependency_job_id":"451eae84-4eb7-47e3-aee7-025deb07006d","html_url":"https://github.com/ruby-processing/JRubyArt","commit_stats":{"total_commits":763,"total_committers":4,"mean_commits":190.75,"dds":"0.42070773263433814","last_synced_commit":"bb077e2e704995e78a5305ddbe2832ef0de23cbf"},"previous_names":[],"tags_count":65,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-processing%2FJRubyArt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-processing%2FJRubyArt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-processing%2FJRubyArt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-processing%2FJRubyArt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby-processing","download_url":"https://codeload.github.com/ruby-processing/JRubyArt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247694876,"owners_count":20980733,"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":["art","creative-coding","generative-art","graphics","jruby","jrubyart","processing","ruby","sound","video"],"created_at":"2024-11-06T22:10:46.986Z","updated_at":"2025-04-07T17:08:30.757Z","avatar_url":"https://github.com/ruby-processing.png","language":"Java","readme":"# JRubyArt\n\n[![Gem Version](https://badge.fury.io/rb/jruby_art.svg)](https://badge.fury.io/rb/jruby_art) ![Travis CI](https://travis-ci.org/ruby-processing/JRubyArt.svg)\n\nA new version for jdk17+ and JRuby-9.3.2.0 use, does not require an installed `vanilla processing`, however if installed you can use processing-ide to download libraries. Configuration file is incompatible with that of previous version of JRubyArt (and you should move or rename old `config.yml` to keep it). This version will run with a default configuration file but you won't be able to use processing libraries, until you match configuration to your setup. Illegal reflective access warning should be fixed for this release (by using JOGL-2.4.0-rc jars), though you may need to define `JAVA_HOME` for JRuby warnings to be suppressed.\n\n## Requirements\n\nA clean start for `jruby_art` with custom processing core included, built for [jruby-9.3.2.0](http://jruby.org/download) see [wiki](https://github.com/ruby-processing/JRubyArt/wiki/Building-latest-gem) for building gem from this repo.\n\n## Requirements\n\nA suitable version of ruby (MRI `ruby 2.6+` or `jruby-9.3.2.0`) to download gem. NB: avoid ruby 2.7, it is guaranteed to give you problems (you've been warned)\nTested and working OpenJDK 17, if you have any issues with opengl sketches with distro installed JDK use a JDK from AdoptOpenJDK.\n\n\n## Configuration\n\nYou can if you wish leave configuration to the `new` autoconfig tool (delete or rename existing config to do this). The config file is `config.yml` in the `~/.jruby_art folder`, the autoconfig gets run on `k9 --install` expected to just work.\n\n**config.yml on linux**\n\n```yaml\n---\nprocessing_ide: true\nlibrary_path: \"/home/tux/sketchbook\"\nMAX_WATCH: 32\nJRUBY: true\ntemplate: bare\njava_args:\n  # Global java_args can be used to suppress reflective access warn\n```\n\n## Install Steps (assumes you have requirements above)\n\n```bash\n gem install jruby_art\n k9 --install # installs jruby-complete-9.2.13.0 and downloads and installs samples to ~/k9_samples\n cd ~/k9_samples/contributed\n k9 --run jwishy.rb # if you have jruby-9.2.13.0 installed or config `JRUBY: false`\n # to use jruby-complete set `JRUBY: false` in config\n```\n\n## Create sketches from built in templates\n\n```bash\nk9 --create fred 200 200                # basic sketch fred.rb\nk9 --create fred 200 200 p2d            # basic P2D sketch fred.rb\n```\n\nTo create either a `class` wrapped sketch or `emacs` sketch set `template: class` or `template: emacs` in config.yml\n\n## Simple Sketch\n\n```ruby\n\ndef setup\n  sketch_title 'My Sketch'\nend\n\ndef draw\n  background 0\n  fill 200\n  ellipse width / 2, height / 2, 300, 200\nend\n\ndef settings\n  size 400, 300\nend\n```\n\n## Run Sketch\n\nSee above be prepared to `KILL` the odd java process (ie when sketch does not exit cleanly)\n\n## Watch sketches\n\n```bash\nk9 --watch sketch.rb # NB: doesn't work with FX2D render mode\n```\n\n## Open pry console on sketch\n\n```bash\nk9 --live sketch.rb # pry is bound to Processing.app # needs `jruby -S gem install pry`\n```\n\n## Example sketches\n\n[Worked Examples](https://github.com/ruby-processing/JRubyArt-examples) and, [The-Nature-of-Code-Examples-for-JRubyArt](https://github.com/ruby-processing/The-Nature-of-Code-for-JRubyArt) feel free to add your own, especially ruby-2.6+ syntax now we can. These can now be downloaded using `k9 --install` please move existing `k9_samples` if you wish to keep them.\n\n[adopt]: https://adoptopenjdk.net/\n[pi]: http://ruby-processing.github.io/JRubyArt/raspberrypi_started/\n[rubuto-processing3]: https://github.com/hoshi-sano/ruboto-processing3\n[testing]: http://ruby-processing.github.io/testing/testing/\n[warnings]: https://monkstone.github.io/jruby_art/update/2019/09/10/Reflective_Access.html\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fruby-processing%2Fjrubyart","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fruby-processing%2Fjrubyart","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fruby-processing%2Fjrubyart/lists"}