Merge branch 'main' of github.com:LinuxIsCool/post-app-website-new
This commit is contained in:
commit
3a5c6ec289
|
|
@ -0,0 +1,28 @@
|
|||
name: Mirror to Gitea
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- master
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
mirror:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Mirror to Gitea
|
||||
env:
|
||||
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
|
||||
GITEA_USERNAME: ${{ secrets.GITEA_USERNAME }}
|
||||
run: |
|
||||
REPO_NAME=$(basename $GITHUB_REPOSITORY)
|
||||
git remote add gitea https://$GITEA_USERNAME:$GITEA_TOKEN@gitea.jeffemmett.com/jeffemmett/$REPO_NAME.git || true
|
||||
git push gitea --all --force
|
||||
git push gitea --tags --force
|
||||
|
||||
|
|
@ -11,7 +11,7 @@ export function CTASection() {
|
|||
<h2 className="text-4xl md:text-5xl font-bold text-balance">Building Necessary Infrastructure</h2>
|
||||
<p className="text-xl text-muted-foreground leading-relaxed">
|
||||
If we want to build a more open, equitable, and adaptable digital future, we need open source
|
||||
supra-structure and substrates like{" "}
|
||||
exfrastructure and substrates like{" "}
|
||||
<a href="https://folkjs.org" className="text-primary hover:underline">
|
||||
FolkJS
|
||||
</a>{" "}
|
||||
|
|
|
|||
|
|
@ -69,11 +69,6 @@ export function Footer() {
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="pt-8 border-t border-border flex flex-col md:flex-row justify-between items-center gap-4 text-sm text-muted-foreground">
|
||||
<p>© 2025 Post-Appitalism Research. Open source and commons-aligned.</p>
|
||||
<p className="text-xs">No venture capital was harmed in the making of this website.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
)
|
||||
|
|
|
|||
|
|
@ -24,8 +24,6 @@ export function HeroSection() {
|
|||
|
||||
<div className="container relative z-10 px-4 py-20 mx-auto max-w-6xl">
|
||||
<div className="text-center space-y-8">
|
||||
|
||||
|
||||
<h1 className="text-5xl md:text-7xl lg:text-8xl font-bold tracking-tight text-balance">
|
||||
Weaving a <span className="text-primary">Post-Appitalist</span> Future
|
||||
</h1>
|
||||
|
|
|
|||
|
|
@ -15,8 +15,8 @@ export function InterlaySection() {
|
|||
|
||||
<p className="text-xl text-muted-foreground leading-relaxed">
|
||||
A research initiative to decompose app silos by creating an
|
||||
<span className="text-foreground font-semibold"> interface integration domain</span>. Not another app—a
|
||||
supra-structure for interoperation, built on{" "}
|
||||
<span className="text-foreground font-semibold"> interface integration domain</span>. Not another app—an
|
||||
exfrastructure for interoperation, built on{" "}
|
||||
<a href="https://folkjs.org" className="text-primary hover:underline">
|
||||
FolkJS
|
||||
</a>{" "}
|
||||
|
|
@ -63,58 +63,6 @@ export function InterlaySection() {
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="relative">
|
||||
<div className="aspect-square rounded-2xl bg-gradient-to-br from-primary/20 via-primary/5 to-transparent border border-primary/20 p-8 flex items-center justify-center">
|
||||
<svg viewBox="0 0 200 200" className="w-full h-full">
|
||||
{/* Central node */}
|
||||
<circle cx="100" cy="100" r="8" fill="currentColor" className="text-primary" />
|
||||
|
||||
{/* Outer nodes */}
|
||||
{[0, 45, 90, 135, 180, 225, 270, 315].map((angle, i) => {
|
||||
const rad = (angle * Math.PI) / 180
|
||||
const x = 100 + 60 * Math.cos(rad)
|
||||
const y = 100 + 60 * Math.sin(rad)
|
||||
return (
|
||||
<g key={i}>
|
||||
<line
|
||||
x1="100"
|
||||
y1="100"
|
||||
x2={x}
|
||||
y2={y}
|
||||
stroke="currentColor"
|
||||
strokeWidth="1"
|
||||
className="text-primary/30"
|
||||
/>
|
||||
<circle cx={x} cy={y} r="6" fill="currentColor" className="text-primary/70" />
|
||||
</g>
|
||||
)
|
||||
})}
|
||||
|
||||
{/* Connecting lines between outer nodes */}
|
||||
{[0, 90, 180, 270].map((angle, i) => {
|
||||
const rad1 = (angle * Math.PI) / 180
|
||||
const rad2 = ((angle + 90) * Math.PI) / 180
|
||||
const x1 = 100 + 60 * Math.cos(rad1)
|
||||
const y1 = 100 + 60 * Math.sin(rad1)
|
||||
const x2 = 100 + 60 * Math.cos(rad2)
|
||||
const y2 = 100 + 60 * Math.sin(rad2)
|
||||
return (
|
||||
<line
|
||||
key={i}
|
||||
x1={x1}
|
||||
y1={y1}
|
||||
x2={x2}
|
||||
y2={y2}
|
||||
stroke="currentColor"
|
||||
strokeWidth="0.5"
|
||||
className="text-primary/20"
|
||||
/>
|
||||
)
|
||||
})}
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ export function VisionSection() {
|
|||
<div className="max-w-3xl mx-auto text-center">
|
||||
<h2 className="text-4xl md:text-5xl font-bold mb-6 text-balance">The Post-Appitalist Horizon</h2>
|
||||
<p className="text-xl text-muted-foreground leading-relaxed">
|
||||
A paradigm where user-controlled composability replaces vendor-controlled silos. Where collaboration
|
||||
thrives beyond the constraints of platform capitalism.
|
||||
After the app-ocalypse, a new paradigm emerges where user-controlled composability replaces
|
||||
vendor-controlled silos. Where collaboration thrives beyond the constraints of platform capitalism.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
|
@ -49,20 +49,15 @@ export function VisionSection() {
|
|||
|
||||
<div className="bg-gradient-to-br from-primary/10 via-primary/5 to-transparent border border-primary/20 rounded-2xl p-8 md:p-12">
|
||||
<div className="max-w-3xl mx-auto space-y-6">
|
||||
<h3 className="text-3xl font-bold text-balance">Beyond Apps: A Supra-Structure</h3>
|
||||
<h3 className="text-3xl font-bold text-balance">Beyond Apps: Exfrastructure</h3>
|
||||
<p className="text-lg text-muted-foreground leading-relaxed">
|
||||
This isn't about building another app—it's about creating the supra-structure that enables ecosystems of
|
||||
This isn't about building another app—it's about creating the exfrastructure that enables ecosystems of
|
||||
tools to self-organize and flow freely. Built on substrates like{" "}
|
||||
<a href="https://folkjs.org" className="text-primary hover:underline">
|
||||
FolkJS
|
||||
</a>
|
||||
, where information moves as freely as ideas should.
|
||||
</p>
|
||||
<div className="pt-4">
|
||||
<div className="inline-block px-4 py-2 rounded-lg bg-background/50 border border-border text-sm font-mono">
|
||||
infrastructure → exfrastructure → supra-structure
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 2.6 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 585 B |
Binary file not shown.
|
After Width: | Height: | Size: 566 B |
|
|
@ -0,0 +1,26 @@
|
|||
<svg width="180" height="180" viewBox="0 0 180 180" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<style>
|
||||
@media (prefers-color-scheme: light) {
|
||||
.background { fill: black; }
|
||||
.foreground { fill: white; }
|
||||
}
|
||||
@media (prefers-color-scheme: dark) {
|
||||
.background { fill: white; }
|
||||
.foreground { fill: black; }
|
||||
}
|
||||
</style>
|
||||
<g clip-path="url(#clip0_7960_43945)">
|
||||
<rect class="background" width="180" height="180" rx="37" />
|
||||
<g style="transform: scale(95%); transform-origin: center">
|
||||
<path class="foreground"
|
||||
d="M101.141 53H136.632C151.023 53 162.689 64.6662 162.689 79.0573V112.904H148.112V79.0573C148.112 78.7105 148.098 78.3662 148.072 78.0251L112.581 112.898C112.701 112.902 112.821 112.904 112.941 112.904H148.112V126.672H112.941C98.5504 126.672 86.5638 114.891 86.5638 100.5V66.7434H101.141V100.5C101.141 101.15 101.191 101.792 101.289 102.422L137.56 66.7816C137.255 66.7563 136.945 66.7434 136.632 66.7434H101.141V53Z" />
|
||||
<path class="foreground"
|
||||
d="M65.2926 124.136L14 66.7372H34.6355L64.7495 100.436V66.7372H80.1365V118.47C80.1365 126.278 70.4953 129.958 65.2926 124.136Z" />
|
||||
</g>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_7960_43945">
|
||||
<rect width="180" height="180" fill="white" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
Loading…
Reference in New Issue