Upload the first revision of the central site.

This commit is contained in:
Logic Kenzie 2023-09-24 12:21:33 -05:00
commit d33f4e8c64
18 changed files with 249 additions and 0 deletions

25
.gitignore vendored Normal file
View file

@ -0,0 +1,25 @@
# build output
dist/
# generated types
.astro/
# dependencies
node_modules/
# logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# environment variables
.env
.env.production
# macOS-specific files
.DS_Store
# ide files
.idea/
.vscode/

1
README.md Normal file
View file

@ -0,0 +1 @@
# LogicallyLogi Central Site

8
astro.config.mjs Normal file
View file

@ -0,0 +1,8 @@
import { defineConfig } from 'astro/config';
import alpinejs from "@astrojs/alpinejs";
// https://astro.build/config
export default defineConfig({
integrations: [alpinejs()]
});

18
package.json Normal file
View file

@ -0,0 +1,18 @@
{
"name": "logicallylogi",
"type": "module",
"version": "0.0.1",
"scripts": {
"dev": "astro dev",
"start": "astro dev",
"build": "astro build",
"preview": "astro preview",
"astro": "astro"
},
"dependencies": {
"@astrojs/alpinejs": "^0.3.0",
"@types/alpinejs": "^3.0.0",
"alpinejs": "^3.0.0",
"astro": "^3.1.0"
}
}

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

BIN
public/logo.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View file

@ -0,0 +1,8 @@
---
const { object } = Astro.props
---
<div>
<h2>{object.rawContent().split("\n")[0].replaceAll("#", "")}</h2>
<p>{object.rawContent().split("\n").slice(1, 10).join("").split(" ").slice(0, 200).join(" ").replaceAll("#", "")}</p>
<a href={object.url}>Read More =></a>
</div>

View file

@ -0,0 +1,47 @@
---
const { object } = Astro.props
---
<style>
span {
border-radius: 10rem;
padding: 0.3rem 1rem;
}
.button {
border-radius: 5px;
padding: 0.5rem 1rem;
background-color: black;
color:white;
}
tr {
line-height: 4rem;
}
.online {
background-color: #198754;
color:white;
}
.uncolored {
background-color: white;
color:black;
}
.development, .planned {
background-color: #ffc107;
color: black;
}
.offline {
background-color: #dc3545;
color:white;
}
</style>
<tr>
<td>{object.frontmatter.title}</td>
<td><span class="uncolored">{object.frontmatter.category}</span></td>
<td><a class="button" href={object.frontmatter.source}>Source on {new URL(object.frontmatter.source).hostname}</a></td>
<td><span class={object.frontmatter.status.toLowerCase()}>{object.frontmatter.status}</span></td>
<td><a href={object.url} class="button">View</a></td>
</tr>

1
src/env.d.ts vendored Normal file
View file

@ -0,0 +1 @@
/// <reference types="astro/client" />

68
src/layouts/primary.astro Normal file
View file

@ -0,0 +1,68 @@
---
const { title } = Astro.props
---
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{title} ~LogicallyLogi~</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/water.css/out/dark.min.css">
<style>
body {
margin: 0;
max-width: 100%
}
main {
margin: 1rem auto;
display: flex;
justify-content: center;
text-align: center;
}
article {
padding-top: 5vh;
padding-bottom: 5vh;
width: 80vw;
}
header {
width: auto;
display: flex;
align-items: center;
padding: 0.5vh 10vw;
}
header img {
height: 5rem;
width: 5rem;
}
header a {
color: var(--text);
text-decoration: none;
font-weight: 800;
padding: 0.3em;
}
header a:hover {
text-decoration: underline;
}
</style>
</head>
<body>
<header>
<img src="/logo.webp" alt="logo">
<a href="/">Home</a>
<a href="/about">About Me</a>
<a href="/blog">Blog</a>
<a href="/projects">Projects</a>
</header>
<main>
<article>
<slot></slot>
</article>
</main>
</body>
</html>

14
src/pages/about.astro Normal file
View file

@ -0,0 +1,14 @@
---
import Layout from "../layouts/primary.astro"
---
<Layout>
<h1>Hi there!</h1>
<em>My name is Logic. I'm what you may call... a logical developer.</em>
<br />
<pre><code>My goal is to make the world a better place, one line of code at a time.</code></pre>
<address>
<a href="mailto:logicallylogi@skiff.com">logicallylogi@skiff.com</a>
<br />
<a href="https://matrix.to/#/@logi:ixvd.net">@logi:ixvd.net</a>
</address>
</Layout>

8
src/pages/blog.astro Normal file
View file

@ -0,0 +1,8 @@
---
import Layout from "../layouts/primary.astro"
import BlogPost from "../components/blogpost.astro"
const allPosts = await Astro.glob('../pages/blog/*.md');
---
<Layout>
{allPosts.map((post) => <BlogPost object={post} />)}
</Layout>

6
src/pages/blog/first.md Normal file
View file

@ -0,0 +1,6 @@
---
title: First Post
layout: ../../layouts/primary.astro
---
# Welcome to the Logical Blog!
This blog is going to eventually contain lots of writing about psychology, technology, and AI!

6
src/pages/index.astro Normal file
View file

@ -0,0 +1,6 @@
---
import Layout from "../layouts/primary.astro"
---
<Layout>
<h1>Welcome to ~LogicallyLogi~</h1>
</Layout>

21
src/pages/projects.astro Normal file
View file

@ -0,0 +1,21 @@
---
import Layout from "../layouts/primary.astro"
import ProjectDisplay from "../components/projectdisplay.astro";
const projects = await Astro.glob('../pages/projects/*.md');
---
<Layout>
<table>
<thead>
<tr>
<th>Name</th>
<th>Category</th>
<th>Source</th>
<th>Status</th>
<th>Link</th>
</tr>
</thead>
<tbody>
{projects.map((post) => <ProjectDisplay object={post} />)}
</tbody>
</table>
</Layout>

View file

@ -0,0 +1,7 @@
---
title: LogicallySocial
category: Social
status: Planned
source: https://git.ixvd.net/logi/social
layout: ../../layouts/primary.astro
---

View file

@ -0,0 +1,8 @@
---
title: LogicalSpeedTest
category: Utility
status: Offline
source: https://git.ixvd.net/logicallylogi.me/speedtest
layout: ../../layouts/primary.astro
---
[Check your speed now](/speedtest)

3
tsconfig.json Normal file
View file

@ -0,0 +1,3 @@
{
"extends": "astro/tsconfigs/strictest"
}