1
Fork 0
mirror of https://github.com/RGBCube/Site synced 2025-08-01 13:37:49 +00:00

Add initial Lume stuff

This commit is contained in:
RGBCube 2024-01-20 17:33:18 +03:00
commit f694638186
No known key found for this signature in database
8 changed files with 188 additions and 0 deletions

17
.gitignore vendored Normal file
View file

@ -0,0 +1,17 @@
*
!site/
!site/_includes/
!site/blog/
!*.css
!*.md
!*.vto
!*.png
!*.gif
!.gitignore
!*.json
!*.ts

43
_config.ts Normal file
View file

@ -0,0 +1,43 @@
import lume from "lume/mod.ts";
import codeHighlight from "lume/plugins/code_highlight.ts";
import feed from "lume/plugins/feed.ts";
import inline from "lume/plugins/inline.ts";
import minifyHTML from "lume/plugins/minify_html.ts";
import resolveUrls from "lume/plugins/resolve_urls.ts";
const site = lume({
src: "./site",
location: new URL("https://rgbcu.be/"),
});
site.use(codeHighlight());
site.use(inline());
site.use(resolveUrls());
site.use(minifyHTML());
site.use(feed({
output: ["/blog/feed.rss"],
query: "type=article",
sort: "date=desc",
info: {
title: "RGBCube's Blog",
description:
"The webpage where RGBCube dumps his schizophrenic ramblings about software and all the likes.",
lang: "en",
generator: false,
},
items: {
title: "=title",
description: "=description",
published: "=date",
content: "$ content",
lang: "en",
},
}));
site.copyRemainingFiles();
export default site;

14
deno.json Normal file
View file

@ -0,0 +1,14 @@
{
"compilerOptions": {
"jsx": "react-jsx",
"jsxImportSource": "npm:react"
},
"tasks": {
"lume": "echo \"import 'lume/cli.ts'\" | deno run --unstable -A -",
"build": "deno task lume",
"serve": "deno task lume --serve"
},
"imports": {
"lume/": "https://deno.land/x/lume@v2.0.3/"
}
}

View file

@ -0,0 +1,15 @@
---
layout: base.vto
type: article
---
<nav>
<a class="nav-home" href="/">HOME</a>
<a class="nav-about" href="/about">ABOUT</a>
<a class="nav-blog" href="/blog">BLOG</a>
<a class="nav-contact" href="/contact">CONTACT</a>
</nav>
<div class="content">{{ content }}</div>
<footer>Copyright © {{ new Date().getFullYear() }} RGBCube</footer>

66
site/_includes/base.vto Normal file
View file

@ -0,0 +1,66 @@
---
description: null
color: null
type: null
tags: null
thumbnail: null
# Required:
# title
---
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta property="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ title }}</title>
<meta property="og:title" content="{{ title }}">
<meta property="og:site_name" content="{{ title }}">
<meta name="twitter:title" content="{{ title }}">
{{ set description = description ?? "The official website and link portal of RGBCube and his work." }}
<meta name="description" content="{{ description }}">
<meta property="og:description" content="{{ description }}">
<meta name="twitter:description" content="{{ description }}">
<meta name="theme-color" content="{{ color ?? '#00FFFF' }}">
<link rel="alternate" type="application/rss+xml" href="https://rgbcu.be/feed.rss">
<meta property="og:type" content="{{ type ?? 'website' }}"> <!-- Can be either "website" or "article" -->
<meta property="og:locale" content="en">
<link rel="canonical" href="{{ url }}">
<meta property="og:url" content="{{ url }}">
<meta name="twitter:url" content="{{ url }}">
<meta name="author" content="RGBCube">
<meta property="og:article:author" content="RGBCube">
<meta name="twitter:creator" content="RGBCubed">
{{ if tags }}
<meta name="keywords" content="{{ tags.join(', ') }}">
<meta property="og:article:tag" content="{{ tags.join(', ') }}">
{{ /if }}
{{ if date }}
<meta property="og:article:published_time" content="{{ date }}">
{{ /if }}
{{ if thumbnail }}
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="{{ thumbnail }}">
<meta property="og:image" content="{{ thumbnail }}">
{{ else }}
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="/icon.png">
{{ /if }}
<link rel="icon" href="/icon.gif">
<link rel="apple-touch-icon" href="/icon.png">
</head">
<body>
{{ content }}
</body>
</html>

19
site/_includes/cube.vto Normal file
View file

@ -0,0 +1,19 @@
---
layout: base.vto
title: RGBCube
# Required:
# faces
---
{{ set sides = ["front", "top", "back", "bottom", "right", "left"] }}
<div class="scene">
<div class="cube">
{{ for (let i = 0; i < sides.length; i++) }}
<div class={{ "face " + sides[i] }}>
{{ faces[i] }}
</div>
{{ /for }}
</div>
</div>

10
site/about.md Normal file
View file

@ -0,0 +1,10 @@
---
title: About
layout: article.vto
date: 2024-01-24
---
# Test 123
Testing deez
thats it.

4
site/blog/_data.ts Normal file
View file

@ -0,0 +1,4 @@
export default {
layout: "article.vto",
title: "$ h1",
};