Add website and update descriptions

This commit is contained in:
thiloho
2024-12-12 17:29:14 +01:00
parent c4b8388ce1
commit 53d1ef06f1
5 changed files with 100 additions and 12 deletions

View File

@@ -2,17 +2,15 @@
## About ## About
archtika is a FLOSS, modern, performant and lightweight CMS (Content Mangement System) in the form of a web application. It allows you to easily create, manage and publish minimal, responsive and SEO friendly blogging and documentation websites with official, professionally designed templates. archtika is a FLOSS, modern, performant, lightweight and self-hosted CMS (Content Mangement System) in the form of a web application. It allows you to easily create, manage and publish minimal, responsive and SEO friendly blogging and documentation websites using the templates provided. Contributors can also be added to a website, allowing multiple people to work on a project.
It is also possible to add contributors to your sites, which is very useful for larger projects where, for example, several people are constantly working on the documentation.
## How it works ## How it works
For the backend, PostgreSQL is used in combination with PostgREST to create a RESTful API. JSON web tokens along with row-level security control authentication and authorisation flows. For the backend, PostgreSQL is used in combination with PostgREST to create a RESTful API. JSON web tokens along with row-level security control authentication and authorisation flows.
The web application uses SvelteKit with SSR (Server Side Rendering) and Svelte version 5, currently in beta. The web application uses SvelteKit with SSR (Server Side Rendering) and Svelte version 5.
NGINX is used to deploy the websites, serving the static site files from the `/var/www/archtika-websites` directory. The static files can be found in this directory via the path `<user_id>/<website_id>`, which is dynamically created by the web application. NGINX is used to deploy the websites, serving the static website files from the `/var/www/archtika-websites` directory. The website files are generated and written to this directory by the web application on the server side for preview and publishing.
## Virtual machine for local development ## Virtual machine for local development
@@ -32,5 +30,3 @@ sudo chown $USER:$(id -gn) /var/www/archtika-websites
```bash ```bash
nix run .#dev-vm nix run .#dev-vm
``` ```
For production, a separate `node` user can be created to run the systemd service for the node process; this user would have only the essential permissions to maintain the principle of least privilege.

View File

@@ -7,9 +7,6 @@
}: }:
let let
pname = "archtika";
version = "1.0.0";
web = buildNpmPackage { web = buildNpmPackage {
name = "web-app"; name = "web-app";
src = ../web-app; src = ../web-app;
@@ -35,7 +32,9 @@ let
}; };
in in
symlinkJoin { symlinkJoin {
name = pname; pname = "archtika";
version = "1.0.0";
paths = [ paths = [
web web
api api

View File

@@ -38,7 +38,7 @@
<title>archtika | {routeName.replaceAll("/", " - ")}</title> <title>archtika | {routeName.replaceAll("/", " - ")}</title>
<meta <meta
name="description" name="description"
content="FLOSS, modern, performant and lightweight CMS (Content Mangement System) with predefined templates" content="FLOSS, modern, performant, lightweight and self-hosted CMS in the form of a web application"
/> />
</svelte:head> </svelte:head>

View File

@@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="512"
height="512"
viewBox="0 0 512 512"
version="1.1"
id="svg1"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1">
<clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath81">
<path
style="display:inline;fill:#808080;fill-opacity:1"
id="path81"
d="M 238.4745,221.60155 47.127052,272.87295 98.398447,81.525498 Z"
transform="matrix(1.8723891,0.38003672,-0.50170515,1.4183164,28.692837,-108.9927)" />
</clipPath>
<clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath82">
<path
style="display:inline;fill:#808080;fill-opacity:1"
id="path82"
d="M 238.4745,221.60155 47.127052,272.87295 98.398447,81.525498 Z"
transform="rotate(180,159.89124,183.45477)" />
</clipPath>
<clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath83">
<path
style="display:inline;fill:#808080;fill-opacity:1"
id="path83"
d="M 238.4745,221.60155 47.127052,272.87295 98.398447,81.525498 Z"
transform="rotate(180,96.108761,200.54523)" />
</clipPath>
</defs>
<g
id="layer1"
style="display:inline">
<g
id="g83"
transform="matrix(1.3333333,0,0,1.3333333,-85.333319,-8.1031545e-6)"
style="display:inline">
<path
style="fill:#4ae086;fill-opacity:1"
id="path49"
d="M 238.4745,221.60155 47.127052,272.87295 98.398447,81.525498 Z"
transform="matrix(-1.8723891,-0.5793192,0.50170515,-2.1620487,271.33842,745.26623)"
clip-path="url(#clipPath83)" />
<path
style="display:inline;fill:#00a056;fill-opacity:1"
id="path50"
d="M 238.4745,221.60155 47.127052,272.87295 98.398447,81.525498 Z"
transform="matrix(-1.8723891,-0.5793192,0.50170515,-2.1620487,527.33841,745.26623)"
clip-path="url(#clipPath82)" />
<path
id="path71"
style="display:inline;fill:#17c171;fill-opacity:1"
transform="matrix(1,0,0,1.5243769,83.968743,-67.120251)"
d="m 236.03126,128.00002 -64.00001,83.96874 -64,-83.96874 64,-83.968747 z"
clip-path="url(#clipPath81)" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

24
website/index.html Normal file
View File

@@ -0,0 +1,24 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://cdn.tailwindcss.com"></script>
<link
rel="icon"
href="./archtika-logo-512x512.svg"
/>
<title>archtika CMS</title>
<meta name="description" content="FLOSS, modern, performant, lightweight and self-hosted CMS in the form of a web application" />
</head>
<body class="min-h-screen bg-neutral-50 bg-[url('./archtika-logo-512x512.svg')] bg-bottom bg-no-repeat bg-blend-luminosity">
<div class="mx-auto max-w-fit bg-neutral-50 p-8">
<h1 class="text-2xl font-bold text-neutral-900 sm:text-3xl md:text-4xl lg:text-5xl xl:text-6xl 2xl:text-7xl">archtika</h1>
<p class="mt-2 text-xl text-neutral-700 sm:text-2xl">FLOSS, modern, performant, lightweight and self&#8209;hosted CMS</p>
<div class="mt-8 flex flex-wrap gap-6 sm:justify-end">
<a href="https://github.com/archtika/archtika" class="text-neutral-900 rounded-full bg-neutral-200 px-4 py-2 outline outline-1 outline-offset-4 outline-neutral-300 hover:bg-neutral-300 hover:underline focus:outline-2 focus:outline-neutral-900">GitHub</a>
<a href="https://docs.demo.archtika.com" class="text-neutral-900 rounded-full bg-neutral-200 px-4 py-2 outline outline-1 outline-offset-4 outline-neutral-300 hover:bg-neutral-300 hover:underline focus:outline-2 focus:outline-neutral-900">Documentation</a>
</div>
</div>
</body>
</html>