Audio gear inspired ui elements in react.
rack ui
Simple pub/sub messaging for the web
A message bus client in Javascript
UI library used for building platform as well as app functionality. Depends on @coat-rack/sdk at runtime for theming primitives
generate random IDs and avoid collisions
LiveReload JS client - auto reload browser on changes
TypeScript definitions for hat
Convert form parameters to an object using the same logic as Rack
Floating UI for the web
Positioning library for floating elements: tooltips, popovers, dropdowns, and more
Utilities for Floating UI
Floating UI for React DOM
Sidecar code splitting utils
tsParticles spice rack palette
Floating UI for React
UI for Vitest
[](http://badge.fury.io/js/swagger-ui-dist)
Material UI is an open-source React component library that implements Google's Material Design. It's comprehensive and can be used in production out of the box.
Simple pub/sub messaging for the web
Serverless Rack Plugin
Base UI is a library of headless ('unstyled') React components and low-level hooks. You gain complete control over your app's CSS and accessibility features.
vue-cli plugin to add vuex and router and axios and authorization and mock and so on.
No description provided.
jQuery-UI CDN script tags and fallback in one neat package. Current version is for jQuery-UI v1.10.3
jQuery-UI themes CDN script tags and fallback in one neat package. Current version is for jQuery-UI v1.10.3
UI for viewing logs in Rack
a rack middle wrapped swagger ui assets
A rack-based swagger-ui middleware and commandline utility.
SideBro is a Rack-mountable alternative to Sidekiq's built-in Web UI, providing the same features with a customizable design.
Adding ability to detect timezone at UI side and get it within Rack/Rails via cookies with/o custom handler.
A simple UI for controlling the CORS settings that ship with Rack CORS Middleware.
Drop-in theme that refreshes the MissionControl::Jobs UI with refined typography, a malachite color palette, light/dark mode, and JSON syntax highlighting. Zero configuration — works via Rack middleware without overriding views.
Ruby Hail is fast-by-design Rack-based nano-framework. It provides generator and helper to quickly create Rack-based web-apps. You have options to make plain html-based app with basic templates. You can chain htmls and utilize ruby string interpolation. You can generate simple json API with authentication. Or you can go with SPA (single-page app). It uses Vue.js for UI because it shares fast-by-design philosophy and very similar to AngularJS 1. In all cases you have database (sqlite by default) available out of the box.
== E9Tags An extension to ActsAsTaggableOn[http://github.com/mbleigh/acts-as-taggable-on] which "improves" on custom tagging, or at least makes it more dynamic. Additionally it provides some autocomplete rack apps and the corresponding javascript. == Installation 1. E9Tags requires jquery and jquery-ui for the autocompletion and tag-adding form, be sure they're loaded in your pages where the tags form will be rendered. 2. E9Tags extends ActsAsTaggableOn and requires it. Run it's generator if you have not. 3. Run the E9Tags install script to copy over the required JS rails g e9_tags:install 4. Then make sure it is loaded, how you do that doesn't matter, e.g. <%= javascript_include_tag 'e9_tags' %> 5. Create an initializer for that sets up the taggable models and their controllers. This gives the models the tag associations and methods and prepares their controller to handle the otherwise unexpected tag params. require 'e9_tags' require 'contacts_controller' require 'contact' E9Tags.controllers << ContactsController E9Tags.models << Contact OR You can just include the modules in your classes yourself. The first way really exists for the case where the classes you wish to extend are part of another plugin/gem. # in contact.rb include E9Tags:Model # in contacts_controller.rb include E9Tags::Controller 6. Render the tags form partial in whatever model forms require it. = render 'e9_tags/form', :f => f If you pass a context, it will be locked and no longer possible to change/add the contexts on the form (and as a side effect, the tags autocompletion will be restricted to that context). = render 'e9_tags/form', :f => f, :context => :users Finally if you pass a 2nd arg to :context you can set a tag context to be "private" (default is false). In this case the tag context will be locked as private (typically suffixed with *), meaning that the tags will not be publicly searchable/visible. This is useful for organizational tags tags, say if you wanted to arbitrarily group records, or create a custom search based on a tag context. = render 'e9_tags/form', :f => f, :context => [:users, true] NOTE: The form and javascript are intended to work out of the box, but the certainly aren't going to look pretty. If you do intend to use the forms, you'll no doubt need to style them.
:title: The Ruby API :section: PYAPNS::Client There's python in my ruby! This is a class used to send notifications, provision applications and retrieve feedback using the Apple Push Notification Service. PYAPNS is a multi-application APS provider, meaning it is possible to send notifications to any number of different applications from the same application and same server. It is also possible to scale the client to any number of processes and servers, simply balanced behind a simple web proxy. It may seem like overkill for such a bare interface - after all, the APS service is rather simplistic. However, PYAPNS takes no shortcuts when it comes to completeness/compliance with the APNS protocol and allows the user many optimization and scaling vectors not possible with other libraries. No bandwidth is wasted, connections are persistent and the server is asynchronous therefore notifications are delivered immediately. PYAPNS takes after the design of 3rd party push notification service that charge a fee each time you push a notification, and charge extra for so-called 'premium' service which supposedly gives you quicker access to the APS servers. However, PYAPNS is free, as in beer and offers more scaling opportunities without the financial draw. :section: Provisioning To add your app to the PYAPNS server, it must be `provisioned` at least once. Normally this is done once upon the start-up of your application, be it a web service, desktop application or whatever... It must be done at least once to the server you're connecting to. Multiple instances of PYAPNS will have to have their applications provisioned individually. To provision an application manually use the `PYAPNS::Client#provision` method. require 'pyapns' client = PYAPNS::Client.configure client.provision :app_id => 'cf', :cert => '/home/ss/cert.pem', :env => 'sandbox', :timeout => 15 This basically says "add an app reference named 'cf' to the server and start a connection using the certification, and if it can't within 15 seconds, raise a `PYAPNS::TimeoutException` That's all it takes to get started. Of course, this can be done automatically by using PYAPNS::ClientConfiguration middleware. `PYAPNS::Client` is a singleton class that is configured using the class method `PYAPNS::Client#configure`. It is sensibly configured by default, but can be customized by specifying a hash See the docs on `PYAPNS::ClientConfiguration` for a list of available configuration parameters (some of these are important, and you can specify initial applications) to be configured by default. :section: Sending Notifications Once your client is configured, and application provisioned (again, these should be taken care of before you write notification code) you can begin sending notifications to users. If you're wondering how to acquire a notification token, you've come to the wrong place... I recommend using google. However, if you want to send hundreds of millions of notifications to users, here's how it's done, one at a time... The `PYAPNS::Client#notify` is a sort of polymorphic method which can notify any number of devices at a time. It's basic form is as follows: client.notify 'cf', 'long ass app token', {:aps=> {:alert => 'hello?'}} However, as stated before, it is sort of polymorphic: client.notify 'cf', ['token', 'token2', 'token3'], [alert, alert2, alert3] client.notify :app_id => 'cf', :tokens => 'mah token', :notifications => alertHash client.notify 'cf', 'token', PYAPNS::Notification('hello tits!') As you can see, the method accepts paralell arrays of tokens and notifications meaning any number of notifications can be sent at once. Hashes will be automatically converted to `PYAPNS::Notification` objects so they can be optimized for the wire (nil values removed, etc...), and you can pass `PYAPNS::Notification` objects directly if you wish. :section: Retrieving Feedback The APS service offers a feedback functionality that allows application servers to retrieve a list of device tokens it deems to be no longer in use, and the time it thinks they stopped being useful (the user uninstalled your app, better luck next time...) Sounds pretty straight forward, and it is. Apple recommends you do this at least once an hour. PYAPNS will return a list of 2-element lists with the date and the token: feedbacks = client.feedback 'cf' :section: Asynchronous Calls PYAPNS::Client will, by default, perform no funny stuff and operate entirely within the calling thread. This means that certain applications may hang when, say, sending a notification, if only for a fraction of a second. Obviously not a desirable trait, all `provision`, `feedback` and `notify` methods also take a block, which indicates to the method you want to call PYAPNS asynchronously, and it will be done so handily in another thread, calling back your block with a single argument when finished. Note that `notify` and `provision` return absolutely nothing (nil, for you rub--wait you are ruby developers!). It is probably wise to always use this form of operation so your calling thread is never blocked (especially important in UI-driven apps and asynchronous servers) Just pass a block to provision/notify/feedback like so: PYAPNS::Client.instance.feedback do |feedbacks| feedbacks.each { |f| trim_token f } end :section: PYAPNS::ClientConfiguration A middleware class to make `PYAPNS::Client` easy to use in web contexts Automates configuration of the client in Rack environments using a simple confiuration middleware. To use `PYAPNS::Client` in Rack environments with the least code possible `use PYAPNS::ClientConfiguration` (no, really, in some cases, that's all you need!) middleware with an optional hash specifying the client variables. Options are as follows: use PYAPNS::ClientConfiguration( :host => 'http://localhost/' :port => 7077, :initial => [{ :app_id => 'myapp', :cert => '/home/myuser/apps/myapp/cert.pem', :env => 'sandbox', :timeout => 15 }]) Where the configuration variables are defined: :host String the host where the server can be found :port Number the port to which the client should connect :initial Array OPTIONAL - an array of INITIAL hashes INITIAL HASHES: :app_id String the id used to send messages with this certification can be a totally arbitrary value :cert String a path to the certification or the certification file as a string :env String the environment to connect to apple with, always either 'sandbox' or 'production' :timoeut Number The timeout for the server to use when connecting to the apple servers :section: PYAPNS::Notification An APNS Notification You can construct notification objects ahead of time by using this class. However unnecessary, it allows you to programmatically generate a Notification like so: note = PYAPNS::Notification.new 'alert text', 9, 'flynn.caf', {:extra => 'guid'} -- or -- note = PYAPNS::Notification.new 'alert text' These can be passed to `PYAPNS::Client#notify` the same as hashes