mirror of
https://github.com/thiloho/archtika.git
synced 2025-11-22 02:41:35 +01:00
Add website and update descriptions
This commit is contained in:
10
README.md
10
README.md
@@ -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.
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|
||||||
|
|||||||
69
website/archtika-logo-512x512.svg
Normal file
69
website/archtika-logo-512x512.svg
Normal 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
24
website/index.html
Normal 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‑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>
|
||||||
Reference in New Issue
Block a user