JavaScripting

The definitive source of the best
JavaScript libraries, frameworks, and plugins.


  • ×

    Human-friendly alternative to the HSL color space
    Filed under 

    • 🔾42%Overall
    • 1,251
    • 24.7 days
    • 🕩55
    • 👥7

    CI

    HSLuv - Human-friendly HSL

    This website is hosted on https://www.hsluv.org

    The reference implementation is written in Haxe.

    To build website:

    npm run build
    

    To start localhost server:

    npm run serve
    

    Shared credentials

    We are using public key cryptography to share credentials. Contributors' public keys are stored in PEM format in secrets/public. A plaintext secrets.txt file, which is ignored by git, is encrypted using each of these public keys and stored in the repo in its encrypted form. It can be decrypted by anyone posessing a private key that corresponds to one of the shared public keys.

    To decrypt secrets (overwriting secrets.txt):

    ./secrets.sh --decrypt ~/.ssh/myprivatekey secrets/symmetric/myusername.enc.txt
    

    After updating secrets.txt or adding a new PEM file to secrets/public, secrets need to be re-encrypted. To encrypt secrets:

    ./secrets.sh --encrypt
    

    Don't forget to commit re-encrypted secrets after running the command above.

    PEM files

    To generate PEM file from public key:

    ssh-keygen -f ~/.ssh/id_rsa.pub -e -m PKCS8 > myusername.pem
    

    GPG key

    To create signed packages (e.g. for Maven Central) we need a GPG key. A GPG key shared by all the contributors is located in secrets. The private key is protected by a passphrase which can be found in secrets.txt. Our shared key is set to expire in 1 year.

    Generating GPG key:

    gpg --gen-key
    gpg --list-keys
    gpg --output hsluvcontributors_pub.gpg --armor --export 381DF082
    gpg --output hsluvcontributors_sec.gpg --armor --export-secret-key 381DF082
    
    Show All