https://luarocks.org
O repositório oficial do módulo do Luarocks Package Manager para Lua.
Todo o site é executado no OpenResty, uma plataforma baseada em NGINX com suporte à LUA. O site em si é codificado em Moonscript e usa o Lapis como uma estrutura da web.
Os arquivos são armazenados no Google Cloud Storage. O PostgreSQL é usado como um banco de dados.
TUP é o sistema de construção.
Instale as seguintes dependências:
markdown )Confira este repositório.
Instale dependências:
luarocks build --only-deps --lua-version=5.1 --localExecute esses comandos para construir:
tup init
tupCrie o esquema:
make init_schemaInicie o servidor:
lapis server Agora http://localhost:8080 deve carregar.
Se você editar quaisquer arquivos Moonscript ou SCSS, você deve ligar para tup para reconstruir as alterações. Você pode executar tup monitor -a assistir ao sistema de arquivos para se reconstruir.
Este site usa preso para seus testes:
make test_db
busted O comando make test_db copiará o esquema do banco de dados local moonrocks no banco de dados de teste, eliminando o que quer que estivesse lá. Você só precisará executar este comando uma vez e o início qualquer momento em que o esquema tenha mudado.
Na produção, todos os arquivos são armazenados no Google Cloud Storage. Sem configuração (padrão), os arquivos são armazenados no sistema de arquivos usando a simulação de balde de armazenamento fornecida pelo cloud_storage Rock.
Para configurar cloud_storage para conversar com um balde ao vivo, faça um arquivo secret/storage_bucket.moon , ele deve retornar uma instância do balde. Pode parecer algo 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 " Se você deseja testar e -mails de envio, precisará fornecer credenciais de correio. Crie um arquivo secret/email.moon e faça com que pareça algo assim: (ele deve devolver uma tabela de opções)
{ -- secret/email.moon
key : " api:key-MY_KEY "
domain : " mydomain.mailgun.org "
sender : " MoonRocks <[email protected]> "
}