An open API service indexing awesome lists of open source software.

https://github.com/hexpm/hexdocs-search


https://github.com/hexpm/hexdocs-search

Last synced: 4 months ago
JSON representation

Awesome Lists containing this project

README

          

# Hexdocs Frontend

Hexdocs Frontend is using [Lustre](https://lustre.build), a single-page
application running in client, interacting with the backend through asynchronous
HTTP requests.

Running a Lustre application can easily be achieved using [Gleam](https://gleam.run/)
and the [Lustre Dev Tools](https://hexdocs.pm/lustre_dev_tools/).
Lustre Dev Tools is a companion package to Lustre, in charge of compiling,
bundling, and running the application in browser.

## Launching the dev server

With Gleam installed on your path, you can directly start the development server
using Lustre Dev Tools.

```sh
gleam run -m lustre/dev start
```

The application will be running at `http://localhost:1234`.

## Building the application

Building the application can be done with the Lustre Dev Tools too.

```sh
gleam run -m lustre/dev build
```

Then you can deploy the contents of the `dist/` folder.

## Deployment

```
$ git pull origin main
$ git push origin main:prod
```

## Quick reminder of the structure

- All source files reside in `src` folder.
- There's no `index.html` in the sources, as the file is automatically
generated by Lustre Dev Tools with the configuration written in `gleam.toml`.
- `hexdocs.css` is the entrypoint for CSS for the application. Tailwind is
setup in that file.