https://luarocks.org
El repositorio oficial del módulo del Administrador de paquetes de Luarocks para LUA.
Todo el sitio se ejecuta en OpenResty, una plataforma basada en Nginx con soporte LUA. El sitio en sí está codificado en MoonScript y utiliza LAPI como marco web.
Los archivos se almacenan en Google Cloud Storage. PostgreSQL se usa como base de datos.
TUP es el sistema de compilación.
Instale las siguientes dependencias:
markdown )Mira este repositorio.
Instalar dependencias:
luarocks build --only-deps --lua-version=5.1 --localEjecute estos comandos para construir:
tup init
tupCrea el esquema:
make init_schemaInicie el servidor:
lapis server Ahora http://localhost:8080 debería cargarse.
Si edita algún archivo MoonScript o SCSS, debe llamar tup para reconstruir los cambios. Puede ejecutar tup monitor -a para ver el sistema de archivos para reconstruir.
Este sitio usa Busted para sus pruebas:
make test_db
busted El comando make test_db copiará el esquema de la base de datos local moonrocks en la base de datos de prueba, eliminando lo que estaba allí. Solo necesitará ejecutar este comando una vez y el comienzo en cualquier momento en que el esquema haya cambiado.
En producción, todos los archivos se almacenan en Google Cloud Storage. Sin configuración (predeterminado), los archivos se almacenan en el sistema de archivos utilizando el simulacro de cubo de almacenamiento proporcionado por cloud_storage Rock.
Para configurar cloud_storage para hablar con un cubo en vivo, haga un archivo secret/storage_bucket.moon , debe devolver una instancia de cubo. Puede parecer algo así como:
-- 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 desea probar los correos electrónicos de envío, tendrá que proporcionar credenciales de Mailgun. Cree un archivo secret/email.moon y haga que se vea algo así: (debe devolver una tabla de opciones)
{ -- secret/email.moon
key : " api:key-MY_KEY "
domain : " mydomain.mailgun.org "
sender : " MoonRocks <[email protected]> "
}