Pelaut
KAMI MENCARI PENGELOLA BARU!
Fitur
- Kompatibel dengan Lua 5.1, Lua 5.2 dan LuaJIT. (Kompatibilitas 5.3 sejauh ini belum teruji)
- Pengaturan Luarocks
- Berjalan melalui server web Apache2 (dengan mod_lua), NginX (openresty), Mongoose, Lighttpd, Xavante dan Lwan
- Menggunakan sistem Windows, Mac atau Linux
- Kompatibel dengan MySQL, PostgreSQL, SQLite dan database lain yang didukung oleh perpustakaan luasql
- struktur MVC
- Parsing halaman Lua
- Rute
- Pemetaan Objek-relasional Dasar
- Validasi
- Transaksi
- Aplikasi sudah dikirimkan dengan Bootstrap
- Nyalakan, alihkan
- Sesi, kue
- Modul masuk
- Penerapan mudah (khusus unix) -> pelaut membuat "nama aplikasi" /dir/to/app
- Pembuatan formulir
- Lua di klien (mungkin melalui mesin virtual Lua=>JS yang diterapkan dengan aplikasi)
- Url yang ramah
- Periksa fungsi untuk debugging yang lebih baik => mirip dengan var dump
- Halaman 404 khusus
- Hubungan
- Pembuatan model (membaca dari DB)
- Generasi CRUD (membaca dari model)
- Tema dan tata letak (sekarang Anda dapat memiliki beberapa tata letak dalam satu tema. Misalnya 1 kolom dan 2 kolom)
- Integrasi dengan Busted untuk pengujian unit dan fungsional untuk aplikasi Anda
Peta jalan
- Integrasi dengan DB API mod_lua dan refactor modul DB
- Perbaikan pada form dan modul validasi
Lebih lanjut tentang motivasi membangun proyek ini dapat ditemukan di sini: http://etiene.net/10/sailor
Info pohon direktori
- /docs - yang ini seharusnya memiliki dokumentasi
- /lua-to-js-vms - mesin virtual Lua->Javascript yang berbeda untuk penggunaan Lua di browser dengan Sailor
- /rockspecs - File Rockspec untuk instalasi LuaRocks
- /src - Modul Lua dengan barang bagus dari Sailor dan tempat lain.
- /sailor - Modul pelaut
- /sailor/blank-app - aplikasi web Sailor kosong, dapat disalin dan ditempel sebagai basis untuk aplikasi Anda sendiri
- /test - aplikasi untuk tujuan pengujian dan demonstrasi
Lingkungan yang Didukung
Sailor telah diuji di Linux, Mac OS X dan Windows dan saat ini kompatibel dengan Apache dengan mod_lua atau mod_pLua, Nginx dengan ngx_lua, Lwan, Lighttpd dengan mod_magnet, atau server web berkemampuan CGI, seperti Civetweb, Mongoose dan Xavante, jika CGILua hadir.
Instalasi
Untuk Linux, lihat INSTALL_LINUX.md (Ubuntu) atau INSTALL_LINUX_ARCH.md (Arch Linux)
Untuk Windows, lihat INSTALL_WIN.md
Untuk Mac, lihat INSTALL_MAC.md
Menggunakan Pelaut
Aplikasi Sailor default akan memiliki struktur pohon direktori berikut:
- /conf - file konfigurasi, buka dan edit.
- /controllers - pengontrol yang akan Anda buat!
- /themes - file tema default.
- /models - model yang akan Anda buat!
- /pub - file yang dapat diakses publik (perpustakaan js, misalnya)
- /runtime - file sementara yang dihasilkan selama runtime.
- /tests - pengujian unit dan fungsional
- /views - ini adalah tempat halaman lua Anda di .lp akan pergi
Membuat Halaman
Buka /controllers dan buat pengontrol pertama Anda! Ini harus berupa modul lua. Beri nama apa pun yang Anda inginkan, contoh kami adalah "site.lua". Kami akan menyajikan dua halaman, satu dapat diakses melalui /?r=site yang akan menjalankan site.index() secara default dan satu lagi dapat diakses melalui /?r=site/notindex.
local site = {}
local model = require " sailor.model "
function site . index ( page )
local foo = ' Hello world '
local User = model ( " user " )
local u = User : new ()
u . username = " etiene "
u . password = " a_password "
local valid , err = u : validate () -- validate() will check if your attributes follow the rules!
if not valid then
foo = " Boohoo :( "
end
-- Warning: this is a tech preview and some methods of model class do not avoid SQL injections yet.
page : render ( ' index ' ,{ foo = foo , name = u . username }) -- This will render /views/site/index.lp and pass the variables 'foo' and 'name'
end
function site . notindex ( page )
page : write ( ' <b>Hey you!</b> ' )
end
return site
Buka /views, buat direktori bernama 'site' agar sesuai dengan nama pengontrol Anda dan buat halaman pertama Anda, contoh kami adalah index.lp
< ?=foo? >
< p >
Hi, < ?=name? >
</ p >
Untuk informasi lebih lanjut tentang apa yang dapat Anda lakukan dengan html dan Lua Pages, kunjungi http://keplerproject.github.io/cgilua/manual.html#templates
Untuk contoh lainnya, Anda dapat memeriksa pengontrol pengujian (/controllers/test.lua), tampilan pengujian (/views/test/*) dan model Pengguna (/models/user.lua)
Manual Dokumentasi & Referensi
http://sailorproject.org/?r=docs
Berkontribusi
Kontribusi dipersilakan! Buat saja permintaan tarik :) Silakan coba ikuti gaya kode repositori lainnya.
Jika Anda membuat ekstensi untuk Sailor dan ingin berbagi, silakan hubungi saya agar saya dapat menambahkannya ke situs web.
Terima kasih
Repositori ini berisi kode berlisensi MIT pihak ketiga berikut:
- Templat LP - http://keplerproject.github.io/cgilua/manual.html#templates
- Valua - https://github.com/sailorproject/valua
- Lua di klien - https://github.com/felipedaragon/lua_at_client
- sinar bulan - http://moonshinejs.org/
- Lua5.1.js - https://github.com/logiceditor-com/lua5.1.js
- Lua.vm.js - https://kripken.github.io/lua.vm.js/lua.vm.js.html
- Cahaya Bintang - https://github.com/paulcuth/starlight
Saran, pertanyaan & pelukan
pelukan! Bukan bug. Untuk bug, isi masalah! :)
[email protected]
https://twitter.com/etiene_d
Daftar Surat & Dukungan
Bergabunglah dengan grup Google kami untuk daftar email dan dukungan
Jika Anda mengalami kesulitan dalam membuat Sailor berfungsi atau jika Anda membuatnya berfungsi menggunakan spesifikasi yang berbeda, silakan hubungi agar kami dapat bertukar informasi dan saya dapat menyempurnakan manualnya. Terima kasih!