Skip to content

mir123/etherpad-solar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Make your Etherpad react to the sun

About

A still experimental Etherpad plugin that changes the skin variant according to the position of the sun at a given location, so you can make your skin go dark at night.

Requirements

Tested with Etherpad 1.8.3 running in Node.js v12.16.3. Fixed bug that prevented minifying.

Install

Set your position (latitude and longitude in decimal degrees, using NOAA nonstandard negative longitude for west, positive for east) in settings.json. For example:

Mexico City:

,"ep_solar": {
"lat": 19.43,
"lon": 99.13
}

Sydney:

,"ep_solar": {
"lat": -34.87,
"lon": -151.2
}

Other settings can be changed directly in the static/js/index.js file.

How it works

Given a location and time (by default, the current time of the client) an elevation of the sun is calculated and then whether it is day or night. The formulas at the NOAA ESRL Solar Position Calculator have been adapted for this purpose.

Upon opening a pad the above calculation is performed and the skin is updated accordingly, using the same functions as the skin_variants.js.

I use the aceSetAuthorStyle client hook, as it runs after all the iframes have been built.

To do

  • Allow plugin to get location from client if allowed.
  • Use a different hook that allows theme to react in real time instead of needing reload.
  • Allow setting twilight/dawn colors for day/night transition.

About

An Etherpad plugin to change skin variant according to sun position

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published