diff options
| author | Fuwn <[email protected]> | 2022-05-15 01:45:59 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2022-05-15 01:45:59 +0000 |
| commit | 0ce99108e78f9402a1aa5cc2541420de1e3fbf69 (patch) | |
| tree | b58611c09aabf26b416512d5f605e73f1c10c8af /README.md | |
| download | laurali-0ce99108e78f9402a1aa5cc2541420de1e3fbf69.tar.xz laurali-0ce99108e78f9402a1aa5cc2541420de1e3fbf69.zip | |
feat(0.1.0): initial release0.1.0
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..2367dae --- /dev/null +++ b/README.md @@ -0,0 +1,66 @@ +<h1 align="center">Laurali</h1> +<p align="center"><b>An object-oriented Gemini server for Deno!</b></p> + +- Super simple +- Object-oriented +- Decorators! +- Fun! + +## Usage + +The latest stable release of Laurali can be `import`ed from +[deno.land/x](https://deno.land/x) using https://deno.land/x/laurali/mod.ts, or, +you can `import` the latest bleeding-edge commit straight from GitHub using +https://raw.githubusercontent.com/gemrest/laurali/main/mod.ts. + +## Documentation + +The latest documentation ([main](https://github.com/gemrest/laurali/tree/main)) +is available +[here](https://doc.deno.land/https/raw.githubusercontent.com/gemrest/laurali/main/mod.ts), +and the latest stable documentation is available +[here](https://doc.deno.land/https/deno.land/x/laurali/mod.ts). + +## Example + +To create a simple Laurali server, you must first have a valid OpenSSL keypair. +You can create a new OpenSSL keypair using the provided script by running + +```shell +# Requires that you have both Deno and OpenSSL installed on your system + +$ deno run --allow-write --allow-run --allow-net --allow-read https://deno.land/x/laurali/key.ts # Optionally, `--overwrite` +``` + +You can then begin to implement your very own Laurali server. + +```ts +import { + Callback, + callback, + route, + Server, +} from "https://deno.land/x/laurali/mod.ts"; + +class MyCoolServer extends Server { + /** Visit /hi */ + @route() + hi() { + return "Hello, World!"; + } +} +``` + +After you have implemented your Laurali server, start listening for connections! + +```ts +// `deno run --allow-net --allow-read https://deno.land/x/examples/my_cool_server.ts` + +(new MyCoolServer(".laurali/public.pem", ".laurali/private.pem")).listen(); +``` + +More examples can be found in the [`examples/`](examples) directory. + +## License + +This project is licensed with the [GNU General Public License v3.0](LICENSE). |