diff --git a/src/info/components/server-block.js b/src/info/components/server-block.js index 41d0495..d701f9c 100644 --- a/src/info/components/server-block.js +++ b/src/info/components/server-block.js @@ -1,13 +1,12 @@ -import { SERVERS } from "../js/variables"; import SCard from "./server-card"; import Link from "next/link"; -export default function ServerBlock({}) { +export default function ServerBlock({ servers }) { return (

- All the stuff I run uses the following server machines with reverse - SSH connections to a{" "} + All the stuff I run uses the following server machines with reverse SSH + connections to a{" "} {"."}

- {Object.keys(SERVERS).map((server) => ( + {Object.keys(servers).map((server) => ( ))}
diff --git a/src/info/data/other.yml b/src/info/data/other.yml new file mode 100644 index 0000000..48e1343 --- /dev/null +++ b/src/info/data/other.yml @@ -0,0 +1,19 @@ +--- # Other YAML + +"Valentine's Day Letter": + url: "https://letter.werefox.dev" + new_tab: true + src: "/emoji/red_heart.svg" + alt: "Red heart emoji" + description: > + Here's a little treat I put together for Valentine's Day one year, and I decided + to just keep it up all year. Feel free to take a look if you ever need a little pick-me-up. ๐Ÿ’™ + +Music: + url: "https://soundcloud.com/alexis-werefox" + new_tab: true + src: "/emoji/studio_microphone.svg" + alt: "Microphone emoji" + description: > + *Nervous sweating* Heh! Sometimes I write some music!? You're free to take a + listen if you want! Let me know what you think! It's usually based on my poetry. diff --git a/src/info/data/private.yml b/src/info/data/private.yml new file mode 100644 index 0000000..66eb477 --- /dev/null +++ b/src/info/data/private.yml @@ -0,0 +1,60 @@ +--- # Private YAML + +"Pi-hole": + url: "https://pi-hole.net/" + new_tab: true + src: "/emoji/pi_hole_logo.svg" + alt: "The Pi-hole logo" + description: > + Pi-hole is a Linux network-level advertisement and Internet tracker blocking + application which acts as a DNS sinkhole and optionally a DHCP server, intended for use on + a private network. It is designed for use on embedded devices with network capability, such + as the Raspberry Pi, but it can be used on other machines running Linux, including cloud + implementations. + +Wireguard: + url: "https://www.wireguard.com/" + new_tab: true + src: "/emoji/wireguard_logo.png" + alt: "The Wiregaurd logo" + description: > + WireGuard is a communication protocol and free and open-source software that + implements encrypted virtual private networks, and was designed with the goals of ease of + use, high speed performance, and low attack surface. It aims for better performance and + more power-saving than the IPsec and OpenVPN tunneling protocols. I use this for access + to my home network outside of being at home, and for access to #thetubes. + +Nextcloud: + url: "https://nextcloud.com/" + new_tab: true + src: "/emoji/nextcloud_logo.png" + alt: "The Nextcloud logo" + description: > + Nextcloud is a suite of client-server software for creating and using file + hosting services. It is enterprise-ready with comprehensive support options. Free and + open-source means that anyone is allowed to install and operate it on their own private + server devices. + +Wikijs: + url: "https://js.wiki/" + new_tab: true + src: "/emoji/wikijs_logo.svg" + alt: "The Wiki.js logo" + description: > + A modern and powerful wiki app built on Node.js + +Navidrome: + url: "https://github.com/navidrome/navidrome" + new_tab: true + src: "/emoji/navidrome_logo.png" + alt: "The Navidrome logo" + description: > + ๐ŸŽงโ˜๏ธ Navidrome is a Modern Music Server and Streamer compatible with Subsonic/Airsonic + +Kanboard: + url: "https://kanboard.org/" + new_tab: true + src: "/emoji/kanboard_logo.svg" + alt: "The Kanboard logo" + description: > + Kanboard is project management software that focuses on the Kanban methodology. diff --git a/src/info/data/projects.yml b/src/info/data/projects.yml new file mode 100644 index 0000000..3d824ce --- /dev/null +++ b/src/info/data/projects.yml @@ -0,0 +1,63 @@ +--- # Projects YAML + +Services: + url: "/projects/services" + src: "/emoji/crt_blue_screen.svg" + alt: "A CRT blue screen emoji" + description: > + Here is a list of some of the services I host. + Some of them, because a few I keep to just myself. + +Streaming: + url: "/projects/streaming" + src: "/emoji/twitch-logo.png" + alt: "Twitch logo" + description: > + I stream regularly now! Mostly Beat Saber workouts. + If you're interested in that, here are some associated links! + +Poetry: + url: "https://write.as/a-letter-to-the-void" + new_tab: true + src: "/emoji/pen.svg" + alt: "Pen emoji" + description: > + Sometimes, I write poetry. It's not always the + happiest, but I am proud of it. It would mean a lot to me if + you took a look! + +Blog: + url: "https://werefox.dev" + new_tab: true + src: "/emoji/page_with_pencil.svg" + alt: "Paper with a pencil emoji" + description: > + I don't update it too often, but I do also maintain + a blog! You can follow it to keep up with what I'm doing as well! + +Programming: + url: "https://gitea.werefox.dev/shadow8t4" + new_tab: true + src: "/emoji/laptop.svg" + alt: "Laptop emoji" + description: > + Much like this site, sometimes I program things! + Gotta at least try and put that Comp. Sci. degree to good use! + +"Non-public Stuff": + url: "/projects/private" + src: "/emoji/no_entry.svg" + alt: "No entry emoji" + description: > + Here are some other things that I host for myself, + some of these can be accessed on the internet, but I only give + myself login access, and I have no plans on giving access to the + public. + +"Other Stuff": + url: "/projects/other" + src: "/emoji/asterisk.svg" + alt: "Asterisk emoji" + description: > + Here are just some other little things I've done + that don't really fit in any specific category. diff --git a/src/info/data/servers.yml b/src/info/data/servers.yml new file mode 100644 index 0000000..4c6cafd --- /dev/null +++ b/src/info/data/servers.yml @@ -0,0 +1,22 @@ +--- # Servers YAML + +"Intel NUC": + model: "8i5BEH" + cpu: "Intel i5 8529U eight-core @2.3-3.8Ghz" + gpu: "Intel Iris Plus Graphics 655" + ram: "16 Gb @2400Mhz" + os: "Ubuntu Server 20.04" + +"Raspberry Pi 4 (x2)": + model: "B Rev 1.4" + cpu: "BCM2835 four-core @1.5Ghz" + gpu: "N/A" + ram: "8 Gb" + os: "Ubuntu Server 20.04" + +"ASUS MINIPC": + model: "PB50 0601" + cpu: "AMD Ryzen 5 3550H eight-core @2.1-3.7GHz" + gpu: "AMD Radeon Vega 8 Graphics" + ram: "32 Gb" + os: "Ubuntu Server 20.10" diff --git a/src/info/data/services.yml b/src/info/data/services.yml new file mode 100644 index 0000000..6462b31 --- /dev/null +++ b/src/info/data/services.yml @@ -0,0 +1,66 @@ +--- # Services YAML + +Mastodon: + url: "https://masto.werefox.dev/about/" + new_tab: true + src: "/emoji/mastodon-logo.png" + alt: "The Mastodon logo" + description: > + Mastodon is an online, self-hosted social media, and social networking service. + It allows anyone to host their own server node in the network, and its various separately + operated user bases are federated across many different servers. + +Pinafore: + url: "https://pina.werefox.dev/" + new_tab: true + src: "/emoji/pinafore_logo.svg" + alt: "The Pinafore logo" + description: > + An alternative web client for Mastodon, focused on speed and simplicity. + +Halcyon: + url: "https://halcyon.werefox.dev/" + new_tab: true + src: "/emoji/halcyon_logo.png" + alt: "The Halcyon logo" + description: > + Halcyon is standard Twitter like client of Mastodon, And you can use it just + by login to your instance. Let's Toot like a tweet. + +Brutaldon: + url: "https://brutal.werefox.dev/" + new_tab: true + src: "/emoji/brutaldon_logo.png" + alt: "The Brutaldon logo" + description: > + Brutaldon is a brutalist, Web 1.0 web interface for Mastodon and Pleroma. + +PeerTube: + url: "https://vid.werefox.dev/" + new_tab: true + src: "/emoji/peertube_logo.svg" + alt: "The PeerTube logo" + description: > + PeerTube is a free and open-source, decentralized, federated video platform + powered by ActivityPub and WebTorrent, that uses peer-to-peer technology to reduce load on + individual servers when viewing videos. + +Element: + url: "https://elem.werefox.dev/" + new_tab: true + src: "/emoji/element_logo.svg" + alt: "The Element logo" + description: > + Element (previously Riot) is an all-in-one secure chat app for teams, + friends and organisations. Keeps conversations in your control, safe from data-mining + and ads. Talk to everyone through the open global Matrix network, protected by proper + end-to-end encryption. (additionally, I host a Matrix server at matrix.werefox.dev) + +Gitea: + url: "https://gitea.werefox.dev/" + new_tab: true + src: "/emoji/gitea_logo.svg" + alt: "The Gitea logo" + description: > + A painless self-hosted Git service. Gitea is a community managed + lightweight code hosting solution written in Go. It is published under the MIT license. diff --git a/src/info/data/streaming.yml b/src/info/data/streaming.yml new file mode 100644 index 0000000..8654bd8 --- /dev/null +++ b/src/info/data/streaming.yml @@ -0,0 +1,21 @@ +--- # Streaming YAML + +Twitch: + url: "https://twitch.tv/alexis_werefox" + new_tab: true + src: "/emoji/twitch-logo.png" + alt: "The Twtich logo" + description: > + Here's a link to my Twitch channel! That's where I do my + streams currently. I've been idly contemplating Owncast at some point, but at the + moment with my current setup, it isn't really feasible, unfortunately. + +PeerTube: + url: "https://vid.werefox.dev/videos/watch/playlist/6a6f95c2-30c7-4163-a3ee-ad5dc5abefcf" + new_tab: true + src: "/emoji/peertube_logo.svg" + alt: "The PeerTube logo" + description: > + My personal PeerTube instance is where I upload all my recordings (VODs). + If you ever miss a stream and wanna see what ya missed, they're always uploaded here! + This link will take you to a playlist where I put all of the recordings in order. diff --git a/src/info/js/variables.js b/src/info/js/variables.js deleted file mode 100644 index 168fa83..0000000 --- a/src/info/js/variables.js +++ /dev/null @@ -1,366 +0,0 @@ -// This is where you put the testimonial users' info - -export const TESTIMONIALS = { - colabunny: { - json: "https://yiff.life/@colabunny.json", - url: "https://yiff.life/@colabunny", - content: '"please stay your jokes are funny and smart"', - }, - ElfLord: { - url: "https://freedom.horse/@ElfLord", - json: "https://freedom.horse/@ElfLord.json", - content: `"Someday I'm gonna visit you in Texas, and when I get there, I'm going to realize you don't live in Texas at all, and I'm in the wrong state"`, - }, - Decimal: { - url: "https://plush.city/@Decimal", - json: "https://plush.city/@Decimal.json", - content: `"I will appreciate the heck out of you any day"`, - }, - Drako_Fenris: { - url: "https://yiff.life/@Drako_Fenris", - json: "https://yiff.life/@Drako_Fenris.json", - content: `"[Alexis' future wife] lives in the ether yet to be revealed. she awaits the day her big tiddie goth gf rides in on her unicorn and rescues her."`, - }, - "00dani": { - url: "https://vulpine.club/@00dani", - json: "https://vulpine.club/@00dani.json", - content: `"*falls in love with you* haha whoopsies ๐Ÿ˜ณ"`, - }, - Gumby: { - url: "https://puppy.cafe/@Gumby", - json: "https://puppy.cafe/@Gumby.json", - content: `"im love alexis a lot ๐Ÿ’š ๐Ÿ€"`, - }, - AshBunny: { - url: "https://vulpine.club/@AshBunny", - json: "https://vulpine.club/@AshBunny.json", - content: `"heck. I don't think I can take all of this support."`, - }, - heatherhorns: { - url: "https://plush.city/@heatherhorns", - json: "https://plush.city/@heatherhorns.json", - content: `";~; - - gpsd gosh"`, - }, - MutoShack: { - url: "https://functional.cafe/@MutoShack", - json: "https://functional.cafe/@MutoShack.json", - content: `"yess w'all say nice things! usually "alexis is the good" and "alexis is the gay" - - because it is the truth"`, - }, - immychan: { - url: "https://antabaka.me/@immychan", - json: "https://antabaka.me/@immychan.json", - content: `"Oh damn you're cute ๐Ÿ˜ณ"`, - }, - nautilee: { - url: "https://dragon.style/@nautilee", - json: "https://dragon.style/@nautilee.json", - content: `"...how are you so goshdarn cute"`, - }, - holly: { - url: "https://lotor.tech/users/holly", - json: "https://lotor.tech/users/holly.json", - content: `"wait there's still an opportunity to be in [the Testimonials page]?"`, - }, - thufie: { - url: "https://social.pixie.town/@thufie", - json: "https://social.pixie.town/@thufie.json", - content: `"banger beach bod"`, - }, - lindsays: { - url: "https://hackers.town/@lindsays", - json: "https://hackers.town/@lindsays.json", - content: `"Regarding @shadow8t4 : She's an amazing, sweet, beautiful dork, and a spectacular best friend. also, a butt."`, - }, -}; - -// This is where I put the questions and answers for the FAQ - -export const FAQS = { - q1: { - question: `"So is Werefox like a species or...?"`, - answer: `That's a good question! No, my fursona's full name is Alexis Werefox, - so Werefox is just a last name. I am just a fox!`, - src: "/images/alexis_heart.png", - alt: "Alexis giving a heart emoji", - }, - q2: { - question: `"How can you be Pansexual and a Lesbian?"`, - answer: `I believe I've been told the proper term is "sapphic", - it just means I *am* Pansexual, but I prefer those who identify more femme.`, - src: "/images/alexis_wink.png", - alt: "Alexis winking and giving a peace sign", - }, - q3: { - question: `"How do I get those Xenia stickers?"`, - answer: `Yeah, about that. So, I've made a few posts about this, but when - I first started giving those out, I was in a good financial position, among - other things. Now I'm not! I will get to it when I do.`, - src: "/images/alexis_annoyed.png", - alt: "Alexis looking annoyed and crossing her arms", - }, - q4: { - question: `"What do you do?"`, - answer: `Lots of things! Lately, though, I've been focusing on myself and my - transition. I could use some financial support (since I'm currently - unemployed) if you're feeling up to it and can afford it! If you want to - know more about what I do, you can check out "Stuff I do!" from the main - page, and "Support Me?" if you wanna toss me some funds!`, - src: "/images/alexis_shrug.png", - alt: "Alexis shrugging", - }, -}; - -// This is where I put my server specifications - -export const SERVERS = { - "Intel NUC": { - model: "8i5BEH", - cpu: "Intel i5 8529U eight-core @2.3-3.8Ghz", - gpu: "Intel Iris Plus Graphics 655", - ram: "16 Gb @2400Mhz", - os: "Ubuntu Server 20.04", - }, - "Raspberry Pi 4 (x2)": { - model: "B Rev 1.4", - cpu: "BCM2835 four-core @1.5Ghz", - gpu: "N/A", - ram: "8 Gb", - os: "Ubuntu Server 20.04", - }, - "ASUS MINIPC": { - model: "PB50 0601", - cpu: "AMD Ryzen 5 3550H eight-core @2.1-3.7GHz", - gpu: "AMD Radeon Vega 8 Graphics", - ram: "32 Gb", - os: "Ubuntu Server 20.10", - }, -}; - -// An object listing the different stuff I do - -export const PROJECTS = { - Services: { - url: "/projects/services", - src: "/emoji/crt_blue_screen.svg", - alt: "A CRT blue screen emoji", - description: `Here is a list of some of the services I host. - Some of them, because a few I keep to just myself.`, - }, - Streaming: { - url: "/projects/streaming", - src: "/emoji/twitch-logo.png", - alt: "Twitch logo", - description: `I stream regularly now! Mostly Beat Saber workouts. - If you're interested in that, here are some associated links!`, - }, - Poetry: { - url: "https://write.as/a-letter-to-the-void", - new_tab: true, - src: "/emoji/pen.svg", - alt: "Pen emoji", - description: `Sometimes, I write poetry. It's not always the - happiest, but I am proud of it. It would mean a lot to me if - you took a look!`, - }, - Blog: { - url: "https://werefox.dev", - new_tab: true, - src: "/emoji/page_with_pencil.svg", - alt: "Paper with a pencil emoji", - description: `I don't update it too often, but I do also maintain - a blog! You can follow it to keep up with what I'm doing as well!`, - }, - Programming: { - url: "https://gitea.werefox.dev/shadow8t4", - new_tab: true, - src: "/emoji/laptop.svg", - alt: "Laptop emoji", - description: `Much like this site, sometimes I program things! - Gotta at least try and put that Comp. Sci. degree to good use!`, - }, - "Non-public Stuff": { - url: "/projects/private", - src: "/emoji/no_entry.svg", - alt: "No entry emoji", - description: `Here are some other things that I host for myself, - some of these can be accessed on the internet, but I only give - myself login access, and I have no plans on giving access to the - public.`, - }, - "Other Stuff": { - url: "/projects/other", - src: "/emoji/asterisk.svg", - alt: "Asterisk emoji", - description: `Here are just some other little things I've done - that don't really fit in any specific category.`, - }, -}; - -// An object listing the services I host - -export const SERVICES = { - Mastodon: { - url: "https://masto.werefox.dev/about/", - new_tab: true, - src: "/emoji/mastodon-logo.png", - alt: "The Mastodon logo", - description: `Mastodon is an online, self-hosted social media, and social networking service. - It allows anyone to host their own server node in the network, and its various separately - operated user bases are federated across many different servers.`, - }, - Pinafore: { - url: "https://pina.werefox.dev/", - new_tab: true, - src: "/emoji/pinafore_logo.svg", - alt: "The Pinafore logo", - description: `An alternative web client for Mastodon, focused on speed and simplicity.`, - }, - Halcyon: { - url: "https://halcyon.werefox.dev/", - new_tab: true, - src: "/emoji/halcyon_logo.png", - alt: "The Halcyon logo", - description: `Halcyon is standard Twitter like client of Mastodon, And you can use it just - by login to your instance. Let's Toot like a tweet.`, - }, - Brutaldon: { - url: "https://brutal.werefox.dev/", - new_tab: true, - src: "/emoji/brutaldon_logo.png", - alt: "The Brutaldon logo", - description: `Brutaldon is a brutalist, Web 1.0 web interface for Mastodon and Pleroma.`, - }, - PeerTube: { - url: "https://vid.werefox.dev/", - new_tab: true, - src: "/emoji/peertube_logo.svg", - alt: "The PeerTube logo", - description: `PeerTube is a free and open-source, decentralized, federated video platform - powered by ActivityPub and WebTorrent, that uses peer-to-peer technology to reduce load on - individual servers when viewing videos.`, - }, - Element: { - url: "https://elem.werefox.dev/", - new_tab: true, - src: "/emoji/element_logo.svg", - alt: "The Element logo", - description: `Element (previously Riot) is an all-in-one secure chat app for teams, - friends and organisations. Keeps conversations in your control, safe from data-mining - and ads. Talk to everyone through the open global Matrix network, protected by proper - end-to-end encryption. (additionally, I host a Matrix server at matrix.werefox.dev)`, - }, - Gitea: { - url: "https://gitea.werefox.dev/", - new_tab: true, - src: "/emoji/gitea_logo.svg", - alt: "The Gitea logo", - description: `A painless self-hosted Git service. Gitea is a community managed - lightweight code hosting solution written in Go. It is published under the MIT license.`, - }, -}; - -// An object listing some links related to my streaming - -export const STREAMING = { - Twitch: { - url: "https://twitch.tv/alexis_werefox", - new_tab: true, - src: "/emoji/twitch-logo.png", - alt: "The Twtich logo", - description: `Here's a link to my Twitch channel! That's where I do my - streams currently. I've been idly contemplating Owncast at some point, but at the - moment with my current setup, it isn't really feasible, unfortunately.`, - }, - PeerTube: { - url: "https://vid.werefox.dev/videos/watch/playlist/6a6f95c2-30c7-4163-a3ee-ad5dc5abefcf", - new_tab: true, - src: "/emoji/peertube_logo.svg", - alt: "The PeerTube logo", - description: `My personal PeerTube instance is where I upload all my recordings (VODs). - If you ever miss a stream and wanna see what ya missed, they're always uploaded here! - This link will take you to a playlist where I put all of the recordings in order.`, - }, -}; - -// An object listing the services I host for myself - -export const PRIVATE = { - "Pi-hole": { - url: "https://pi-hole.net/", - new_tab: true, - src: "/emoji/pi_hole_logo.svg", - alt: "The Pi-hole logo", - description: `Pi-hole is a Linux network-level advertisement and Internet tracker blocking - application which acts as a DNS sinkhole and optionally a DHCP server, intended for use on - a private network. It is designed for use on embedded devices with network capability, such - as the Raspberry Pi, but it can be used on other machines running Linux, including cloud - implementations.`, - }, - Wireguard: { - url: "https://www.wireguard.com/", - new_tab: true, - src: "/emoji/wireguard_logo.png", - alt: "The Wiregaurd logo", - description: `WireGuard is a communication protocol and free and open-source software that - implements encrypted virtual private networks, and was designed with the goals of ease of - use, high speed performance, and low attack surface. It aims for better performance and - more power-saving than the IPsec and OpenVPN tunneling protocols. I use this for access - to my home network outside of being at home, and for access to #thetubes.`, - }, - Nextcloud: { - url: "https://nextcloud.com/", - new_tab: true, - src: "/emoji/nextcloud_logo.png", - alt: "The Nextcloud logo", - description: `Nextcloud is a suite of client-server software for creating and using file - hosting services. It is enterprise-ready with comprehensive support options. Free and - open-source means that anyone is allowed to install and operate it on their own private - server devices.`, - }, - Wikijs: { - url: "https://js.wiki/", - new_tab: true, - src: "/emoji/wikijs_logo.svg", - alt: "The Wiki.js logo", - description: `A modern and powerful wiki app built on Node.js`, - }, - Navidrome: { - url: "https://github.com/navidrome/navidrome", - new_tab: true, - src: "/emoji/navidrome_logo.png", - alt: "The Navidrome logo", - description: `๐ŸŽงโ˜๏ธ Navidrome is a Modern Music Server and Streamer compatible with Subsonic/Airsonic`, - }, - Kanboard: { - url: "https://kanboard.org/", - new_tab: true, - src: "/emoji/kanboard_logo.svg", - alt: "The Kanboard logo", - description: `Kanboard is project management software that focuses on the Kanban methodology.`, - }, -}; - -// An object listing some other stuff I do that doesn't really fit neatly anywhere else - -export const OTHER = { - "Valentine's Day Letter": { - url: "https://letter.werefox.dev", - new_tab: true, - src: "/emoji/red_heart.svg", - alt: "Red heart emoji", - description: `Here's a little treat I put together for Valentine's Day one year, and I decided - to just keep it up all year. Feel free to take a look if you ever need a little pick-me-up. ๐Ÿ’™`, - }, - Music: { - url: "https://soundcloud.com/alexis-werefox", - new_tab: true, - src: "/emoji/studio_microphone.svg", - alt: "Microphone emoji", - description: `*Nervous sweating* Heh! Sometimes I write some music!? You're free to take a - listen if you want! Let me know what you think! It's usually based on my poetry.`, - }, -}; diff --git a/src/info/pages/projects/index.js b/src/info/pages/projects/index.js index 9295b87..729a769 100644 --- a/src/info/pages/projects/index.js +++ b/src/info/pages/projects/index.js @@ -1,8 +1,26 @@ import BasicPage from "../../components/basic-page"; import PBlock from "../../components/project-block"; -import { PROJECTS } from "../../js/variables"; -export default function Services() { +// An object listing pages folks can visit +export async function getStaticProps() { + const fs = require("fs"); + const yaml = require("js-yaml"); + let PROJECTS = {}; + + try { + let fileContent = fs.readFileSync("./data/projects.yml", "utf8"); + PROJECTS = yaml.load(fileContent); + } catch (e) { + console.log(e); + } + return { + props: { + PROJECTS, + }, + }; +} + +export default function Services({ PROJECTS }) { return (
diff --git a/src/info/pages/projects/other/index.js b/src/info/pages/projects/other/index.js index 300fde4..9e1d846 100644 --- a/src/info/pages/projects/other/index.js +++ b/src/info/pages/projects/other/index.js @@ -1,8 +1,26 @@ import BasicPage from "../../../components/basic-page"; import PBlock from "../../../components/project-block"; -import { OTHER } from "../../../js/variables"; -export default function Services() { +// An object listing pages folks can visit +export async function getStaticProps() { + const fs = require("fs"); + const yaml = require("js-yaml"); + let OTHER = {}; + + try { + let fileContent = fs.readFileSync("./data/other.yml", "utf8"); + OTHER = yaml.load(fileContent); + } catch (e) { + console.log(e); + } + return { + props: { + OTHER, + }, + }; +} + +export default function Services({ OTHER }) { return (
diff --git a/src/info/pages/projects/private/index.js b/src/info/pages/projects/private/index.js index db9395c..9e48489 100644 --- a/src/info/pages/projects/private/index.js +++ b/src/info/pages/projects/private/index.js @@ -1,8 +1,26 @@ import BasicPage from "../../../components/basic-page"; import PBlock from "../../../components/project-block"; -import { PRIVATE } from "../../../js/variables"; -export default function Services() { +// An object listing pages folks can visit +export async function getStaticProps() { + const fs = require("fs"); + const yaml = require("js-yaml"); + let PRIVATE = {}; + + try { + let fileContent = fs.readFileSync("./data/private.yml", "utf8"); + PRIVATE = yaml.load(fileContent); + } catch (e) { + console.log(e); + } + return { + props: { + PRIVATE, + }, + }; +} + +export default function Services({ PRIVATE }) { return (
diff --git a/src/info/pages/projects/services/index.js b/src/info/pages/projects/services/index.js index 8867714..fad4ff2 100644 --- a/src/info/pages/projects/services/index.js +++ b/src/info/pages/projects/services/index.js @@ -1,8 +1,26 @@ import BasicPage from "../../../components/basic-page"; import PBlock from "../../../components/project-block"; -import { SERVICES } from "../../../js/variables"; -export default function Services() { +// An object listing pages folks can visit +export async function getStaticProps() { + const fs = require("fs"); + const yaml = require("js-yaml"); + let SERVICES = {}; + + try { + let fileContent = fs.readFileSync("./data/services.yml", "utf8"); + SERVICES = yaml.load(fileContent); + } catch (e) { + console.log(e); + } + return { + props: { + SERVICES, + }, + }; +} + +export default function Services({ SERVICES }) { return (
diff --git a/src/info/pages/projects/streaming/index.js b/src/info/pages/projects/streaming/index.js index be403dc..7587e9b 100644 --- a/src/info/pages/projects/streaming/index.js +++ b/src/info/pages/projects/streaming/index.js @@ -1,8 +1,26 @@ import BasicPage from "../../../components/basic-page"; import PBlock from "../../../components/project-block"; -import { STREAMING } from "../../../js/variables"; -export default function Services() { +// An object listing pages folks can visit +export async function getStaticProps() { + const fs = require("fs"); + const yaml = require("js-yaml"); + let STREAMING = {}; + + try { + let fileContent = fs.readFileSync("./data/streaming.yml", "utf8"); + STREAMING = yaml.load(fileContent); + } catch (e) { + console.log(e); + } + return { + props: { + STREAMING, + }, + }; +} + +export default function Services({ STREAMING }) { return (
diff --git a/src/info/pages/servers/index.js b/src/info/pages/servers/index.js index dbb1ec4..c234d5b 100644 --- a/src/info/pages/servers/index.js +++ b/src/info/pages/servers/index.js @@ -2,11 +2,29 @@ import BasicPage from "../../components/basic-page"; import WCard from "../../components/werefox-card"; import SBlock from "../../components/server-block"; -export default function Servers() { +// An object listing pages folks can visit +export async function getStaticProps() { + const fs = require("fs"); + const yaml = require("js-yaml"); + let SERVERS = {}; + + try { + let fileContent = fs.readFileSync("./data/servers.yml", "utf8"); + SERVERS = yaml.load(fileContent); + } catch (e) { + console.log(e); + } + return { + props: { + SERVERS, + }, + }; +} +export default function Servers({ SERVERS }) { return ( - + );