https://luarocks.org
Le référentiel de module officiel du Luarocks Package Manager pour LUA.
L'ensemble du site fonctionne sur Openresty, une plate-forme basée sur Nginx avec support LUA. Le site lui-même est codé dans Moonscript et utilise le lapis comme cadre Web.
Les fichiers sont stockés sur Google Cloud Storage. PostgreSQL est utilisé comme base de données.
Tup est le système de construction.
Installez les dépendances suivantes:
markdown )Découvrez ce référentiel.
Installez les dépendances:
luarocks build --only-deps --lua-version=5.1 --localExécutez ces commandes à construire:
tup init
tupCréez le schéma:
make init_schemaDémarrez le serveur:
lapis server Maintenant, http://localhost:8080 devrait se charger.
Si vous modifiez des fichiers Moonscript ou SCSS, vous devez appeler tup pour reconstruire les modifications. Vous pouvez exécuter tup monitor -a pour regarder le système de fichiers pour reconstruire.
Ce site utilise Butted pour ses tests:
make test_db
busted La commande make test_db copiera le schéma de la base de données locale moonrocks dans la base de données de test, anéantissant ce qui était là. Vous n'aurez besoin d'exécuter cette commande qu'une seule fois et le début à chaque fois que le schéma a changé.
En production, tous les fichiers sont stockés sur Google Cloud Storage. Sans configuration (par défaut), les fichiers sont stockés sur le système de fichiers à l'aide de la simulation de seau de stockage fournie par le cloud_storage Rock.
Pour configurer cloud_storage pour parler à un seau en direct, faites un fichier secret/storage_bucket.moon , il doit renvoyer une instance de seau. Cela peut ressembler à quelque chose:
-- secret/storage_bucket.moon
import OAuth from require " cloud_storage.oauth "
import CloudStorage from require " cloud_storage.google "
o = OAuth " [email protected] " , " PRIVATEKEY.pem "
CloudStorage ( o , " PROJECT_ID " ) bucket " BUCKET_NAME " Si vous souhaitez tester l'envoi d'e-mails, vous devrez fournir des informations d'identification Mailgun. Créez un fichier secret/email.moon et faites-le ressembler quelque chose comme ceci: (il doit retourner un tableau d'options)
{ -- secret/email.moon
key : " api:key-MY_KEY "
domain : " mydomain.mailgun.org "
sender : " MoonRocks <[email protected]> "
}