clone of repo on github
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

2.5 KiB

Roman scrolls

Alexandria

Alexandria is a reader and writer for curated publications, including e-books. For a thorough introduction, please refer to our project documention, viewable on Alexandria, or to the Alexandria About page.

Issues and Patches

If you would like to suggest a feature or report a bug, or submit a patch for review, please use the Nostr git interface on our homepage.

Developing

Make sure that you have Node.js installed.

Once you've cloned this repo, install dependencies with:

npm install

then start a development server:

npm run dev

or start the server and open the app in a new browser tab:

npm run dev -- --open

Building

We have configured Alexandria to use the static adapter. To deploy your app with a different adapter, you will need to install an adapter for your target environment.

To build a production version of your app, as a static site:

npm run build

You can preview the (non-static) production build with:

npm run preview

Docker

This docker container performs the build.

To build the container:

docker build . -t gc-alexandria

To run the container, in detached mode (-d):

docker run -d --rm --name=gc-alexandria -p 4174:80 gc-alexandria

The container is then viewable on your local machine.

If you want to see the container process (assuming it's the last process to start), enter:

docker ps -l

which should return something like:

CONTAINER ID   IMAGE           COMMAND                  CREATED         STATUS         PORTS                                     NAMES
1d83d736322f   gc-alexandria   "/docker-entrypoint.…"   2 minutes ago   Up 2 minutes   0.0.0.0:4174->80/tcp, [::]:4174->80/tcp   gc-alexandria

Testing

These tests are under development, but will run. They will later be added to the container.

To run the Vitest suite we've built, install the program locally and run the tests.

npm run test

For the Playwright end-to-end (e2e) tests:

npx playwright test