Ben Sturmfels via Bug reports for GNU Guix writes: > On Fri, 19 Mar 2021, jgart wrote: > >> This sounds like a great project. I would love MediaGoblin to be in Guix >> also. >> >>> 6. Rewrite MediaGoblin's JavaScript code not to use jQuery. Maybe >>> improve the no-bundled-JavaScript video/audio playing experience. >> >> What are your thoughts on rewriting the jquery? >> >> Should MediaGoblin be using vanilla javascript instead? >> >> Some other possibilities could be purescript (https://www.purescript.org) or >> mint (http://mint-lang.com), although mint and crystal are not in guix yet >> and >> mint uses preact (http://preactjs.com) as its' runtime since 0.8.0 >> (https://www.mint-lang.com/blog/mint-0.8.0). > > Many of the functions we used to use jQuery for are now built into most > browsers from the last 10 years. > > By far the most common are element selectors like: > > var panel = $('#header-panel') > var arrow = $('.arrow') > > which we just change to: > > var panel = document.querySelector('#header-panel') > var arrow = document.querySelector('.arrow') > > This is all vanilla JavaScript in individual files imported via <script> > without any sort of compilation process. This seems to be the simplest > path to get into distributions like Guix and Debian. The main problem > with purescript and others is that they require more dependencies, build > steps and tooling and are known by less people. > > We have a few dependencies which will be harder to deal with such as the > video, audio and 3D model viewers. In the first instance, I think the > answer will be to do without this JavaScript entirely. That should be > feasible for video and audio given modern browser support. Perhaps we > don't ship 3D model support out of the box in distros for now. > > Regards, > Ben
The 3d model support isn't MediaGoblin's most heavily used plugin. Not shipping support for that would be fine, I'd think. - Chris