Browse Source

Merges pull request #35

Issue#235
master
silberengel 10 months ago
parent
commit
191076f0de
No known key found for this signature in database
GPG Key ID: 962BEC8725790894
  1. 1434
      package-lock.json
  2. 4
      package.json
  3. 36
      src/lib/components/Navigation.svelte
  4. 4
      src/lib/components/Publication.svelte
  5. 5
      src/routes/+layout.svelte
  6. 172
      src/routes/about/+page.svelte
  7. 174
      src/routes/start/+page.svelte

1434
package-lock.json generated

File diff suppressed because it is too large Load Diff

4
package.json

@ -48,11 +48,11 @@ @@ -48,11 +48,11 @@
"prettier-plugin-svelte": "3.x",
"svelte": "5.x",
"svelte-check": "4.x",
"tailwind-merge": "^2.5.5",
"tailwind-merge": "^3.3.0",
"tailwindcss": "3.x",
"tslib": "2.8.x",
"typescript": "5.7.x",
"vite": "5.x",
"vitest": "^3.0.5"
"vitest": "^3.1.3"
}
}

36
src/lib/components/Navigation.svelte

@ -1,29 +1,37 @@ @@ -1,29 +1,37 @@
<script lang="ts">
import { DarkMode, Navbar, NavLi, NavUl, NavHamburger, NavBrand } from 'flowbite-svelte';
import Login from './Login.svelte';
import {
DarkMode,
Navbar,
NavLi,
NavUl,
NavHamburger,
NavBrand,
} from "flowbite-svelte";
import Login from "./Login.svelte";
let { class: className = '' } = $props();
let { class: className = "" } = $props();
let leftMenuOpen = $state(false);
</script>
<Navbar class={`Navbar navbar-leather ${className}`}>
<div class='flex flex-grow justify-between'>
<NavBrand href='/'>
<div class="flex flex-grow justify-between">
<NavBrand href="/">
<h1>Alexandria</h1>
</NavBrand>
</div>
<div class='flex md:order-2'>
<div class="flex md:order-2">
<Login />
<NavHamburger class='btn-leather' />
<NavHamburger class="btn-leather" />
</div>
<NavUl class='ul-leather'>
<NavLi href='/new/edit'>Publish</NavLi>
<NavLi href='/visualize'>Visualize</NavLi>
<NavLi href='/about'>About</NavLi>
<NavLi href='/contact'>Contact</NavLi>
<NavLi>
<DarkMode btnClass='btn-leather p-0'/>
<NavUl class="ul-leather">
<NavLi href="/new/edit">Publish</NavLi>
<NavLi href="/visualize">Visualize</NavLi>
<NavLi href="/start">Getting Started</NavLi>
<NavLi href="/about">About</NavLi>
<NavLi href="/contact">Contact</NavLi>
<NavLi>
<DarkMode btnClass="btn-leather p-0" />
</NavLi>
</NavUl>
</Navbar>

4
src/lib/components/Publication.svelte

@ -195,7 +195,7 @@ @@ -195,7 +195,7 @@
</SidebarWrapper>
</Sidebar>
{/if} -->
<div class="flex flex-col space-y-4 max-w-2xl">
<div class="flex flex-col space-y-4 max-w-2xl pb-10 px-4 sm:px-6 md:px-8">
{#each leaves as leaf, i}
{#if leaf == null}
<Alert class='flex space-x-2'>
@ -220,6 +220,8 @@ @@ -220,6 +220,8 @@
<Button color="primary" on:click={() => loadMore(1)}>
Show More
</Button>
{:else}
<p class="text-gray-500 dark:text-gray-400">You've reached the end of the publication.</p>
{/if}
</div>
</div>

5
src/routes/+layout.svelte

@ -44,10 +44,11 @@ @@ -44,10 +44,11 @@
<div class={'leather min-h-full w-full flex flex-col items-center'}>
<Navigation class='sticky top-0' />
<Alert rounded={false} class='border-t-4 border-primary-500 text-gray-900 dark:text-gray-100 dark:border-primary-500 flex justify-left'>
<Alert rounded={false} class='border-t-4 border-primary-500 text-gray-900 dark:text-gray-100 dark:border-primary-500 flex justify-left mb-4'>
<HammerSolid class='mr-2 h-5 w-5 text-primary-500 dark:text-primary-500' />
<span class='font-medium'>
Pardon our dust! The publication view is currently using an experimental loader, and may be unstable.
<p>Pardon our dust! The publication view is currently using an experimental loader, and may be unstable.</p>
<p>New to Alexandria? Check out our <a href="/start" class='text-primary-600 dark:text-primary-400 hover:underline'>Getting Started guide</a> to learn more about using the library.</p>
</span>
</Alert>
<slot />

172
src/routes/about/+page.svelte

@ -33,9 +33,8 @@ @@ -33,9 +33,8 @@
</P>
<P class="mb-3">
Please submit support issues on the <A
href="https://gitcitadel.com/r/naddr1qvzqqqrhnypzquqjyy5zww7uq7hehemjt7juf0q0c9rgv6lv8r2yxcxuf0rvcx9eqy88wumn8ghj7mn0wvhxcmmv9uq3wamnwvaz7tmjv4kxz7fwdehhxarj9e3xzmny9uqsuamnwvaz7tmwdaejumr0dshsqzjpd3jhsctwv3exjcgtpg0n0/issues"
target="_blank">Alexandria repo page</A
Please submit support issues on the <A href="/contact"
>Alexandria contact page</A
> and follow us on <A
href="https://github.com/ShadowySupercode/gitcitadel"
target="_blank">GitHub</A
@ -48,167 +47,12 @@ @@ -48,167 +47,12 @@
We are easiest to contact over our Nostr address <A
href="https://njump.me/nprofile1qqsggm4l0xs23qfjwnkfwf6fqcs66s3lz637gaxhl4nwd2vtle8rnfqprfmhxue69uhhg6r9vehhyetnwshxummnw3erztnrdaks5zhueg"
title="npub1s3ht77dq4zqnya8vjun5jp3p44pr794ru36d0ltxu65chljw8xjqd975wz"
target="_blank">npub1s3h…75wz</A
>.
</P>
<Heading tag="h2" class="h-leather mt-4 mb-2">Overview</Heading>
<P class="mb-4">
Alexandria opens up to the <A href="./">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/" target="_blank"
>thecitadel document relay</A
> or add in their own relays, and scroll/search the publications.
</P>
<div class="flex flex-col items-center space-y-4 my-4">
<Img
src="/screenshots/LandingPage.png"
alt="Landing page"
class="image-border rounded-lg"
width="400"
/>
<Img
src="/screenshots/YourRelays.png"
alt="Relay selection"
class="image-border rounded-lg"
width="400"
/>
</div>
<P class="mb-3">
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 class="mb-3">
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 and 30818s for wiki pages), in the order in
which they are indexed, and displays them as a single document.
</P>
<P class="mb-3">
Each content section (30041 or 30818) 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>
<div class="flex flex-col items-center space-y-4 my-4">
<Img
src="/screenshots/ToC_icon.png"
alt="ToC icon"
class="image-border rounded-lg"
width="400"
/>
<Img
src="/screenshots/TableOfContents.png"
alt="Table of contents example"
class="image-border rounded-lg"
width="400"
/>
</div>
<Heading tag="h2" class="h-leather mt-4 mb-2">Typical use cases</Heading>
<Heading tag="h3" class="h-leather mb-3">For e-books</Heading>
<P class="mb-3">
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 class="mb-3">
An example of a book is <A
href="/publication?d=jane-eyre-an-autobiography-by-charlotte-bront%C3%AB-v-3rd-edition"
>Jane Eyre</A
>
</P>
<div class="flex justify-center my-4">
<Img
src="/screenshots/JaneEyre.png"
alt="Jane Eyre, by Charlotte Brontë"
class="image-border rounded-lg"
width="400"
/>
</div>
<Heading tag="h3" class="h-leather mb-3">For scientific papers</Heading>
<P class="mb-3">
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 class="mb-3">
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 class="mb-3">
Euler will also pioneer the HTTP-based (rather than websocket-based)
e-paper compatible version of the web app.
</P>
<P class="mb-3">
An example of a research paper is <A
href="/publication?d=less-partnering-less-children-or-both-by-julia-hellstrand-v-1"
>Less Partnering, Less Children, or Both?</A
>
</P>
<div class="flex justify-center my-4">
<Img
src="/screenshots/ResearchPaper.png"
alt="Research paper"
class="image-border rounded-lg"
width="400"
/>
</div>
<Heading tag="h3" class="h-leather mb-3">For documentation</Heading>
<P class="mb-3">
Our own team uses Alexandria to document the app, to display our <A
href="/publication?d=the-gitcitadel-blog-by-stella-v-1">blog entries</A
>, as well as to store copies of our most interesting <A
href="/publication?d=gitcitadel-project-documentation-by-stella-v-1"
>technical specifications</A
>.
</P>
<div class="flex justify-center my-4">
<Img
src="/screenshots/Documentation.png"
alt="Documentation"
class="image-border rounded-lg"
width="400"
/>
</div>
<Heading tag="h3" class="h-leather mb-3">For wiki pages</Heading>
<P class="mb-3">
Alexandria now supports wiki pages (kind 30818), allowing for
collaborative knowledge bases and documentation. Wiki pages, such as this
one about the <A href="/publication?d=sybil">Sybil utility</A> use the same
Asciidoc format as other publications but are specifically designed for interconnected,
evolving content.
</P>
<P class="mb-3">
Wiki pages can be linked to from other publications and can contain links
to other wiki pages, creating a web of knowledge that can be navigated and
explored.
target="_blank">GitCitadel</A
>. Or, you can visit us on our <A
href="https://gitcitadel.com"
title="GitCitadel Homepage"
target="_blank">homepage</A
> and find out more about us, and the many projects we are working on.
</P>
</main>
</div>

174
src/routes/start/+page.svelte

@ -0,0 +1,174 @@ @@ -0,0 +1,174 @@
<script lang="ts">
import { Heading, Img, P, A } from "flowbite-svelte";
// Get the git tag version from environment variables
const appVersion = import.meta.env.APP_VERSION || "development";
const isVersionKnown = appVersion !== "development";
</script>
<div class="w-full flex justify-center">
<main class="main-leather flex flex-col space-y-6 max-w-2xl w-full my-6 px-4">
<Heading tag="h1" class="h-leather mb-2"
>Getting Started with Alexandria</Heading
>
<Heading tag="h2" class="h-leather mt-4 mb-2">Overview</Heading>
<P class="mb-4">
Alexandria opens up to the <A href="./">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/" target="_blank"
>thecitadel document relay</A
> or add in their own relays, and scroll/search the publications.
</P>
<div class="flex flex-col items-center space-y-4 my-4">
<Img
src="/screenshots/LandingPage.png"
alt="Landing page"
class="image-border rounded-lg"
width="400"
/>
<Img
src="/screenshots/YourRelays.png"
alt="Relay selection"
class="image-border rounded-lg"
width="400"
/>
</div>
<P class="mb-3">
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 class="mb-3">
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 and 30818s for wiki pages), in the order in
which they are indexed, and displays them as a single document.
</P>
<P class="mb-3">
Each content section (30041 or 30818) 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>
<div class="flex flex-col items-center space-y-4 my-4">
<Img
src="/screenshots/ToC_icon.png"
alt="ToC icon"
class="image-border rounded-lg"
width="400"
/>
<Img
src="/screenshots/TableOfContents.png"
alt="Table of contents example"
class="image-border rounded-lg"
width="400"
/>
</div>
<Heading tag="h2" class="h-leather mt-4 mb-2">Typical use cases</Heading>
<Heading tag="h3" class="h-leather mb-3">For e-books</Heading>
<P class="mb-3">
The most common use for Alexandria is for e-books: both those the 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 class="mb-3">
An example of a book is <A
href="/publication?d=jane-eyre-an-autobiography-by-charlotte-bront%C3%AB-v-3rd-edition"
>Jane Eyre</A
>
</P>
<div class="flex justify-center my-4">
<Img
src="/screenshots/JaneEyre.png"
alt="Jane Eyre, by Charlotte Brontë"
class="image-border rounded-lg"
width="400"
/>
</div>
<Heading tag="h3" class="h-leather mb-3">For scientific papers</Heading>
<P class="mb-3">
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 class="mb-3">
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 class="mb-3">
Euler will also pioneer the HTTP-based (rather than websocket-based)
e-paper compatible version of the web app.
</P>
<P class="mb-3">
An example of a research paper is <A
href="/publication?d=less-partnering-less-children-or-both-by-julia-hellstrand-v-1"
>Less Partnering, Less Children, or Both?</A
>
</P>
<div class="flex justify-center my-4">
<Img
src="/screenshots/ResearchPaper.png"
alt="Research paper"
class="image-border rounded-lg"
width="400"
/>
</div>
<Heading tag="h3" class="h-leather mb-3">For documentation</Heading>
<P class="mb-3">
Our own team uses Alexandria to document the app, to display our <A
href="/publication?d=the-gitcitadel-blog-by-stella-v-1">blog entries</A
>, as well as to store copies of our most interesting <A
href="/publication?d=gitcitadel-project-documentation-by-stella-v-1"
>technical specifications</A
>.
</P>
<div class="flex justify-center my-4">
<Img
src="/screenshots/Documentation.png"
alt="Documentation"
class="image-border rounded-lg"
width="400"
/>
</div>
<Heading tag="h3" class="h-leather mb-3">For wiki pages</Heading>
<P class="mb-3">
Alexandria now supports wiki pages (kind 30818), allowing for
collaborative knowledge bases and documentation. Wiki pages, such as this
one about the <A href="/publication?d=sybil">Sybil utility</A> use the same
Asciidoc format as other publications but are specifically designed for interconnected,
evolving content.
</P>
<P class="mb-3">
Wiki pages can be linked to from other publications and can contain links
to other wiki pages, creating a web of knowledge that can be navigated and
explored.
</P>
</main>
</div>
Loading…
Cancel
Save