Skip to content

HusseinMorsy/rubyvideo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rubyvideo.dev

Inspired by pyvideo.org, Rubyvideo.dev aims to index all Ruby-related videos from conferences and meetups around the world. Currently, the site is in its Alpha release phase with only a small proportion of available videos indexed.

Contributing

This project is open source, and contributions are warmly welcomed. One of the most straightforward ways to contribute at this time is by adding more content. For more information on contributing, please visit this page.

Getting Started

Environment Variables

You can use the .env.sample file as an example of the environment variables required for the project. However, no environment variable is currently needed for simple app exploration.

Setup

To prepare your database and seed content, run:

bin/rails setup

Starting the Application

The following command will start Rails, Vite (for CSS and JS), and potentially meilisearch in the future:

bin/dev

Experimental Page Transition API

page-transition.mp4

Rubyvideo.dev offers experimental support for the Page View Transition API, recently released by Chrome.

Enabling page transitions with Turbo started with the addition of the following code

addEventListener("turbo:before-render", (event) => {
  if (document.startViewTransition) {
    event.preventDefault();

    document.startViewTransition(() => {
      event.detail.resume();
    });
  }
});

The rest of the implementation was guided by examples you may find here: https://glitch.com/edit/#!/simple-set-demos?path=1-cross-fade%2Fscript.js%3A1%3A0

Currently, the implementation requires two Stimulus controllers. One controller adds a page transition class to an element on a click (before the navigation), and the other cleans the DOM from any remaining view-transition-name on the page. It's crucial to ensure there is only one view-transition-name= the name per page. Plans are in place to improve this system and potentially remove the latter controller. Still very much experimental.

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project, you agree to abide by its terms. More details can be found in the Code of Conduct document.

License

Rubyvideo.dev is open source and available under the MIT License. For more information, please see the License file.

About

Indexing all Ruby related videos

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 50.7%
  • HTML 42.5%
  • JavaScript 3.5%
  • CSS 1.7%
  • Dockerfile 1.2%
  • TypeScript 0.2%
  • Shell 0.2%