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.
 
 
 
 
limina1 750b143dcd Cleanup and redundancy removal 9 months ago
.cursor/rules Remove redundant general rule 10 months ago
.vscode landing page columns and search bar. Event comment box. bugfixes 10 months ago
doc WIP: Complex event configuration and people tag anchor implementation 9 months ago
src Cleanup and redundancy removal 9 months ago
static Tidied up and display rudimentary ToC. Updated screenshots. 10 months ago
test_data/AsciidocFiles Successful implementation of event search and userBadges. 10 months ago
.dockerignore Add .dockerignore based on Bun guide 1 year ago
.gitignore Cleanup and redundancy removal 9 months ago
.onedev-buildspec.yml closes #218 Add tag update trigger to push tags to github 10 months ago
.prettierrc add navigation bar 2 years ago
Dockerfile moved copy of the main folder above package-lock.json as proposed by ChipTuner in PR 1 year ago
Dockerfile.local Migrate to Deno for Docker deployment 1 year ago
Dockerfile.next Use configurable `HOST` to define `ORIGIN` 1 year ago
Dockerfile.prod Use `HOST` on prod container 1 year ago
LICENSE initial commit 2 years ago
README.md Successful implementation of event search and userBadges. 10 months ago
bun.lock Add Bun lockfile 1 year ago
deno.json Migrate to Deno for Docker deployment 1 year ago
deno.lock Bump version of Flowbite Svelte Icons 10 months ago
docker-compose.yaml initial commit 2 years ago
import_map.json Bump version of Flowbite Svelte Icons 10 months ago
maintainers.yaml Removed obsolete relay from the list 1 year ago
package-lock.json feat: add display limits and improve visualization reactivity 10 months ago
package.json feat: add display limits and improve visualization reactivity 10 months ago
playwright.config.ts Moved tests into test folder 1 year ago
postcss.config.js Set up Flowbite and style home page 2 years ago
svelte.config.js Migrate to Deno for Docker deployment 1 year ago
tailwind.config.cjs Less details in cards, hide ToC for content only view, dark mode color shift 10 months ago
tsconfig.json Open #11 12 months ago
vite.config.ts feat: add display limits and improve visualization reactivity 10 months ago

README.md

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.

It also contains a universal event viewer, with which you can search our relays, some aggregator relays, and your own relay list, to find and view event data.

Issues and Patches

If you would like to suggest a feature or report a bug, please use the Alexandria Contact page.

You can also contact us on Nostr, directly.

Developing

Make sure that you have Node.js (v22 or above) or Deno (v2) installed.

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

npm install

or with Deno:

deno install

then start a development server with Node:

npm run dev

or with Deno:

deno task dev

Building

Alexandria is configured to run on a Node server. The Node adapter works on Deno as well.

To build a production version of your app with Node, use:

npm run build

or with Deno:

deno task build

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

npm run preview

or with Deno:

deno task 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

Docker + Deno

This application is configured to use the Deno runtime. A Docker container is provided to handle builds and deployments.

To build the app for local development:

docker build -t local-alexandria -f Dockerfile.local .

To run the local development build:

docker run -d -p 3000:3000 local-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

Markup Support

Alexandria supports both Markdown and AsciiDoc markup for different content types. For a detailed list of supported tags and features in the basic and advanced markdown parsers, as well as information about AsciiDoc usage for publications and wikis, see MarkupInfo.md.