GuindillaGUI
Description
Libray for creating browser-based GUIs in Ruby
This library is still in a bare-bones wicked-alpha state, and is subject to fires, floods, and radical changes!
Tested on Linux (Arch 5.15.x-lts) with Ruby 3.0.x
Installation
Should be as easy as:
gem install guindilla_gui
Usage
Chrome and Chromium browsers won't work with GuindillaGui yet - sorry!
Try setting your default browser to Firefox for now, better solutions are on the way!
Take a look at the wiki and the examples. Basic usage goes something like this:
require 'guindilla_gui'
include GuindillaGUI
# your regular old ruby logic goes here #
Guindilla.new do
# your nifty GuindillaGUI methods go here #
end
Normally Guindilla
will be the only class you need to explicitly instantiate.
Other classes are instantiated by methods called inside the Guindilla
block, e.g.:
image('my_image.jpg')
button("push me") do
...
end
Here's a look at demo1.rb
from the examples for a better idea of how this all works...
require 'guindilla_gui'
include GuindillaGUI
images = []
(2..6).each do |n|
images << "http://poignant.guide/images/chapter.poignant.guide-#{n}.jpg"
end
def rand_color
"rgb(#{rand(200)}, #{rand(200)}, #{rand(200)})"
end
Guindilla.new do
font_family('sans')
text_align('center')
align('center')
banner = heading("GuindillaGUI",
width: '90%',
border_radius: '10px',
background: 'crimson',
color: 'white'
)
banner.transition('background', 1, "ease-out")
pic = image('http://poignant.guide/images/chapter.poignant.guide-2.jpg')
pic.transition("rotate", 1)
button("go ahead, push me.", width: '40%', margin: '20px') do
banner.background = rand_color
pic.source = images[rand(5)]
pic.rotate(360)
end
end
Support
email: contact-project+starmonkey1-guindilla-gui-35487921-issue-@incoming.gitlab.com
No guarantees, but I'll do what I can!
Contributing
Yes, Please!!
Acknowledgments
thanks to Matz, _why, and especially The Dude for being thoughtful, thought-provoking, and just generally awesome.
thanks to ashbb and the Shoes gang for help way back when.
thanks and praises to the most high.
License
yeah, well since we've got to do this business -
GPL-3.0-or-later