@ -0,0 +1,15 @@
@@ -0,0 +1,15 @@
|
||||
node_modules |
||||
Dockerfile* |
||||
docker-compose* |
||||
.dockerignore |
||||
.git |
||||
.gitignore |
||||
README.md |
||||
LICENSE |
||||
.vscode |
||||
Makefile |
||||
helm-charts |
||||
.env |
||||
.editorconfig |
||||
.idea |
||||
coverage* |
||||
@ -0,0 +1,15 @@
@@ -0,0 +1,15 @@
|
||||
FROM denoland/deno:alpine AS build |
||||
WORKDIR /app/src |
||||
COPY . . |
||||
RUN deno install |
||||
RUN deno task build |
||||
|
||||
FROM denoland/deno:alpine AS release |
||||
WORKDIR /app |
||||
COPY --from=build /app/src/build/ ./build/ |
||||
COPY --from=build /app/src/import_map.json . |
||||
|
||||
ENV ORIGIN=http://localhost:3000 |
||||
|
||||
EXPOSE 3000 |
||||
CMD [ "deno", "run", "--allow-env", "--allow-read", "--allow-net", "--import-map=import_map.json", "./build/index.js" ] |
||||
@ -0,0 +1,15 @@
@@ -0,0 +1,15 @@
|
||||
FROM denoland/deno:alpine AS build |
||||
WORKDIR /app/src |
||||
COPY . . |
||||
RUN deno install |
||||
RUN deno task build |
||||
|
||||
FROM denoland/deno:alpine AS release |
||||
WORKDIR /app |
||||
COPY --from=build /app/src/build/ ./build/ |
||||
COPY --from=build /app/src/import_map.json . |
||||
|
||||
ENV ORIGIN=https://$HOST |
||||
|
||||
EXPOSE 3000 |
||||
CMD [ "deno", "run", "--allow-env", "--allow-read", "--allow-net", "--import-map=import_map.json", "./build/index.js" ] |
||||
@ -0,0 +1,15 @@
@@ -0,0 +1,15 @@
|
||||
FROM denoland/deno:alpine AS build |
||||
WORKDIR /app/src |
||||
COPY . . |
||||
RUN deno install |
||||
RUN deno task build |
||||
|
||||
FROM denoland/deno:alpine AS release |
||||
WORKDIR /app |
||||
COPY --from=build /app/src/build/ ./build/ |
||||
COPY --from=build /app/src/import_map.json . |
||||
|
||||
ENV ORIGIN=https://$HOST |
||||
|
||||
EXPOSE 3000 |
||||
CMD [ "deno", "run", "--allow-env", "--allow-read", "--allow-net", "--import-map=import_map.json", "./build/index.js" ] |
||||
@ -0,0 +1,7 @@
@@ -0,0 +1,7 @@
|
||||
{ |
||||
"importMap": "./import_map.json", |
||||
"compilerOptions": { |
||||
"allowJs": true, |
||||
"lib": ["dom", "dom.iterable", "dom.asynciterable", "deno.ns"] |
||||
} |
||||
} |
||||
@ -0,0 +1,18 @@
@@ -0,0 +1,18 @@
|
||||
{ |
||||
"imports": { |
||||
"he": "npm:he@1.2.x", |
||||
"@nostr-dev-kit/ndk": "npm:@nostr-dev-kit/ndk@2.11.x", |
||||
"@nostr-dev-kit/ndk-cache-dexie": "npm:@nostr-dev-kit/ndk-cache-dexie@2.5.x", |
||||
"@popperjs/core": "npm:@popperjs/core@2.11.x", |
||||
"@tailwindcss/forms": "npm:@tailwindcss/forms@0.5.x", |
||||
"@tailwindcss/typography": "npm:@tailwindcss/typography@0.5.x", |
||||
"asciidoctor": "npm:asciidoctor@3.0.x", |
||||
"d3": "npm:d3@7.9.x", |
||||
"nostr-tools": "npm:nostr-tools@2.10.x", |
||||
"tailwind-merge": "npm:tailwind-merge@2.5.x", |
||||
"svelte": "npm:svelte@5.0.x", |
||||
"flowbite": "npm:flowbite@2.2.x", |
||||
"flowbite-svelte": "npm:flowbite-svelte@0.44.x", |
||||
"flowbite-svelte-icons": "npm:flowbite-svelte-icons@2.0.x" |
||||
} |
||||
} |
||||
@ -1,5 +0,0 @@
@@ -1,5 +0,0 @@
|
||||
<script lang='ts'> |
||||
|
||||
export let html: string; |
||||
|
||||
</script> |
||||
@ -1,8 +0,0 @@
@@ -1,8 +0,0 @@
|
||||
<script lang="ts"> |
||||
export let content: string; |
||||
</script> |
||||
|
||||
<button |
||||
id={`wikilink-v0-${content.toLocaleLowerCase().replaceAll(' ', '-')}`} |
||||
class="text-indigo-600 underline">{content}</button |
||||
> |
||||
@ -1,15 +1,56 @@
@@ -1,15 +1,56 @@
|
||||
<script lang='ts'> |
||||
import { Heading } from "flowbite-svelte"; |
||||
|
||||
|
||||
</script> |
||||
|
||||
<div class='w-full flex justify-center'> |
||||
<main class='main-leather flex flex-col space-y-4 max-w-2xl w-full mt-4 mb-4'> |
||||
<Heading tag='h1' class='h-leather mb-2'>About</Heading> |
||||
<p>Alexandria is an editor and generator for <a href="https://github.com/nostr-protocol/nips/pull/1600" class='underline'>curated publications</a> and will soon also be a reader for long-form articles and wiki pages. |
||||
It is produced by the <a href="https://wikistr.com/gitcitadel-project" class='underline'>GitCitadel project team</a>.</p> |
||||
<p>Alexandria is a reader and writer for <a href="https://github.com/nostr-protocol/nips/pull/1600" class='underline'>curated publications</a> (in Asciidoc), and will eventually also support long-form articles (Markdown) and wiki pages (Asciidoc). It is produced by the <a href="https://wikistr.com/gitcitadel-project" class='underline'>GitCitadel project team</a>.</p> |
||||
|
||||
<p>Please submit support issues on the <a href="https://gitcitadel.com/r/naddr1qvzqqqrhnypzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqy88wumn8ghj7mn0wvhxcmmv9uqq5emfw33kjarpv3jkcs83wav" class='underline'>project repo page</a> and follow us on <a href="https://github.com/ShadowySupercode/gitcitadel" class='underline'>GitHub</a> and <a href="https://geyser.fund/project/gitcitadel" class='underline'>Geyserfund</a>.</p> |
||||
|
||||
<p>We are easiest to contact over our Nostr address <a href="https://njump.me/nprofile1qqsggm4l0xs23qfjwnkfwf6fqcs66s3lz637gaxhl4nwd2vtle8rnfqprfmhxue69uhhg6r9vehhyetnwshxummnw3erztnrdaks5zhueg" class='underline'>npub1s3ht77dq4zqnya8vjun5jp3p44pr794ru36d0ltxu65chljw8xjqd975wz</a>.</p> |
||||
|
||||
<Heading tag='h2' class='h-leather mb-2'>Overview</Heading> |
||||
|
||||
<p>Alexandria opens up to the <a href="https://next-alexandria.gitcitadel.eu/" class='underline'>landing page</a>, where the user can: login (top-right), select whether to only view the publications hosted on the <a href="https://thecitadel.nostr1.com/" class='underline'>thecitadel document relay</a> or add in their own relays, and scroll/search the publications.</p> |
||||
|
||||
<p><img src="/screenshots/LandingPage.png" alt="Landing page" class='image-border'></p> |
||||
<p><img src="/screenshots/YourRelays.png" alt="Relay selection" class='image-border'></p> |
||||
|
||||
<p>There is also the ability to view the publications as a diagram, if you click on "Visualize", and to publish an e-book or other document (coming soon).</p> |
||||
|
||||
<p>If you click on a card, which represents a 30040 index event, the associated reading view opens to the publication. The app then pulls all of the content events (30041s), in the order in which they are indexed, and displays them as a single document.</p> |
||||
|
||||
<p>Each 30041 section is also a level in the table of contents, which can be accessed from the floating icon top-left in the reading view. This allows for navigation within the publication. (This functionality has been temporarily disabled.)</p> |
||||
|
||||
<p><img src="/screenshots/ToC_icon.png" alt="ToC icon" class='image-border'></p> |
||||
<p><img src="/screenshots/TableOfContents.png" alt="Table of contents example" class='image-border'></p> |
||||
|
||||
<Heading tag='h2' class='h-leather mb-2'>Typical use cases</Heading> |
||||
|
||||
<Heading tag='h3' class='h-leather mb-2'>For e-books</Heading> |
||||
<p>The most common use for Alexandria is for e-books: both those users have written themselves and those uploaded to Nostr from other sources. The first minor version of the app, Gutenberg, is focused on displaying and producing these publications.</p> |
||||
|
||||
<p>An example of a book is <a href="https://next-alexandria.gitcitadel.eu/publication?d=jane-eyre-an-autobiography-by-charlotte-bront%C3%83-v-third-edition" class='underline'>Jane Eyre</a></p> |
||||
|
||||
<p><img src="/screenshots/JaneEyre.png" alt="Jane Eyre, by Charlotte Brontë" class='image-border'></p> |
||||
|
||||
<Heading tag='h3' class='h-leather mb-2'>For scientific papers</Heading> |
||||
<p>Alexandria will also display research papers with Asciimath and LaTeX embedding, and the normal advanced formatting options available for Asciidoc. In addition, we will be implementing special citation events, which will serve as an alternative or addition to the normal footnotes.</p> |
||||
|
||||
<p>Correctly displaying such papers, integrating citations, and allowing them to be reviewed (with kind 1111 comments), and annotated (with highlights) by users, is the focus of the second minor version, Euler.</p> |
||||
|
||||
<p>Euler will also pioneer the HTTP-based (rather than websocket-based) e-paper compatible version of the web app.</p> |
||||
|
||||
<p>An example of a research paper is <a href="https://next-alexandria.gitcitadel.eu/publication?d=less-partnering-less-children-or-both-by-j.i.s.-hellstrand-v-1" class='underline'>Less Partnering, Less Children, or Both?</a></p> |
||||
|
||||
<p><img src="/screenshots/ResearchPaper.png" alt="Research paper" class='image-border'></p> |
||||
|
||||
<Heading tag='h3' class='h-leather mb-2'>For documentation</Heading> |
||||
<p>Our own team uses Alexandria to document the app, to display our blog entries, as well as to store copies of our most interesting technical specifications.</p> |
||||
|
||||
<p><img src="/screenshots/Documentation.png" alt="Documentation" class='image-border'></p> |
||||
|
||||
</main> |
||||
</div> |
||||
@ -0,0 +1,26 @@
@@ -0,0 +1,26 @@
|
||||
@layer components { |
||||
.legend-list { |
||||
@apply list-disc pl-5 space-y-2 text-gray-800 dark:text-gray-300; |
||||
} |
||||
|
||||
.legend-item { |
||||
@apply flex items-center; |
||||
} |
||||
|
||||
.legend-icon { |
||||
@apply relative w-6 h-6 mr-2; |
||||
} |
||||
|
||||
.legend-circle { |
||||
@apply absolute inset-0 rounded-full border-2 border-black; |
||||
} |
||||
|
||||
.legend-circle.content { |
||||
@apply bg-gray-700 dark:bg-gray-300; |
||||
background-color: #d6c1a8; |
||||
} |
||||
|
||||
.legend-letter { |
||||
@apply absolute inset-0 flex items-center justify-center text-black text-xs; |
||||
} |
||||
} |
||||
|
After Width: | Height: | Size: 161 KiB |
|
After Width: | Height: | Size: 196 KiB |
|
After Width: | Height: | Size: 70 KiB |
|
After Width: | Height: | Size: 464 KiB |
|
After Width: | Height: | Size: 157 KiB |
|
After Width: | Height: | Size: 224 KiB |
|
After Width: | Height: | Size: 45 KiB |