Skip to content

Latest commit

 

History

History
57 lines (41 loc) · 1.6 KB

File metadata and controls

57 lines (41 loc) · 1.6 KB

Hexdocs Frontend

Hexdocs Frontend is using Lustre, 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 and the Lustre Dev Tools. Lustre Dev Tools is a companion package to Lustre, in charge of compiling, bundling, and running the application in browser.

Configuration

The application uses environment variables to configure API endpoints. Before running the dev server or building, you must generate the configuration file:

cd config && gleam run -m config

This generates src/hexdocs/config.gleam with default URLs. To customize URLs for local development:

cd config && \
SEARCH_URL=http://localhost:9200 \
HEXDOCS_URL=http://localhost:4000 \
HEXPM_URL=http://localhost:4001 \
gleam run -m config

Launching the dev server

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

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.

gleam run -m lustre/dev build

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.