New site design with improved compatibility + Build process [NetSurf still malfunctions tho :( ]
Some checks failed
Build and Deploy / build (push) Failing after 10s

This commit is contained in:
Genstar 2024-10-08 19:18:52 -03:00
parent 192c95b1cd
commit 0eb2aeeb79
Signed by: Genstar
GPG key ID: 126410EC6B40E3EA
17 changed files with 171 additions and 76 deletions

View file

@ -11,20 +11,16 @@ jobs:
steps:
- uses: actions/checkout@v4
name: Checkout
- name: Fetch external scripts
- name: Build
run: |
mkdir ./www/EXT &&
mkdir ./ext &&
mkdir ./ext/wbmp &&
wget 'https://github.com/andreasgal/wbmp.js/archive/refs/heads/master.zip' --directory-prefix=./ext/wbmp &&
unzip -d ./ext/wbmp ./ext/wbmp/master.zip &&
mv ./ext/wbmp/wbmp.js-master ./www/EXT/WBMP
sh ./scr/clean.sh &&
sh ./scr/build.sh
- name: Deploy to Netlify
uses: https://github.com/nwtgck/actions-netlify.git@v3.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
deploy-message: "Deploy from Forgejo Action"
publish-dir: './www'
publish-dir: './build/www'
production-branch: main
production-deploy: true
enable-pull-request-comment: true
@ -39,6 +35,6 @@ jobs:
uses: https://github.com/dswistowski/surge-sh-action.git@v1.1.0
with:
domain: ${{ vars.SURGE_DOMAIN }}
project: './www'
project: './build/www'
login: ${{ secrets.SURGE_LOGIN }}
token: ${{ secrets.SURGE_TOKEN }}

3
.gitignore vendored
View file

@ -1 +1,2 @@
/www/EXT/
/build
*~

47
gen/main.html Normal file
View file

@ -0,0 +1,47 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<TITLE></TITLE>
<LINK REL="icon" TYPE="image/gif" HREF="/IMG/ICON.GIF">
<META HTTP-EQUIV="Author" CONTENT="Genstar">
<META HTTP-EQUIV="Description" CONTENT="">
<META HTTP-EQUIV="Keywords" CONTENT="Genstar,neckless,dog,furry,art,software,coding,vore">
<STYLE>img{image-rendering:pixelated}a{text-decoration:none}body{font-family:monospace}article{width:240px;margin:auto;}</STYLE>
</HEAD>
<BODY>
<CENTER><HEADER>
<A HREF="/index.html">
<IMG SRC="/IMG/HEADER.WBMP" onerror="this.onerror=null;this.src='/IMG/COMPAT/HEADER.JPG';" ALT="Genstar" WIDTH=216 HEIGHT=84>
</A>
</HEADER></CENTER>
<HR>
<ARTICLE>
</ARTICLE>
<HR>
<CENTER><NAV>
<A HREF="/social.html">
<IMG SRC="/IMG/SOCIAL.WBMP" onerror="this.onerror=null;this.src='/IMG/COMPAT/SOCIAL.JPG';" ALT="Socials" WIDTH=72 HEIGHT=28>
</A>
<A HREF="">
<IMG SRC="/IMG/EMPTY.WBMP" onerror="this.onerror=null;this.src='/IMG/COMPAT/EMPTY.JPG';" ALT="Nothing" WIDTH=72 HEIGHT=28 STYLE="">
</A>
<A HREF="/chat.html">
<IMG SRC="/IMG/CHAT.WBMP" onerror="this.onerror=null;this.src='/IMG/COMPAT/CHAT.JPG';" ALT="Chat" WIDTH=72 HEIGHT=28>
</A>
<BR>
<A HREF="/art.html">
<IMG SRC="/IMG/ART.WBMP" onerror="this.onerror=null;this.src='/IMG/COMPAT/ART.JPG';" ALT="Art" WIDTH=72 HEIGHT=28>
</A>
<A HREF="/write.html">
<IMG SRC="/IMG/WRITE.WBMP" onerror="this.onerror=null;this.src='/IMG/COMPAT/WRITE.JPG';" ALT="Writings" WIDTH=72 HEIGHT=28>
</A>
<A HREF="/proj.html">
<IMG SRC="/IMG/PROJ.WBMP" onerror="this.onerror=null;this.src='/IMG/COMPAT/PROJ.JPG';" ALT="Projects" WIDTH=72 HEIGHT=28>
</A>
</NAV></CENTER>
<CENTER><FOOTER>
<P>COPYRIGHT 2024 - GENSTAR</P>
</FOOTER></CENTER>
</BODY>
</HTML>

44
gen/main.json Normal file
View file

@ -0,0 +1,44 @@
{
"index": {
"title": "Genstar",
"description": "Home Page",
"filter": "sh ./scr/txt-html-filer.sh",
"content": "/home.txt",
"file": "/index.html"
},
"socials": {
"title": "Genstar - Socials",
"description": "My social media pages",
"filter": "sh ./scr/txt-html-filer.sh",
"content": "/social.txt",
"file": "/social.html"
},
"chat": {
"title": "Genstar - Chat",
"description": "My contact adresses",
"filter": "sh ./scr/txt-html-filer.sh",
"content": "/chat.txt",
"file": "/chat.html"
},
"art": {
"title": "Genstar - Art",
"description": "UNDER CONSTRUCTION",
"filter": "sh ./scr/txt-html-filer.sh",
"content": "/uc.txt",
"file": "/art.html"
},
"writings": {
"title": "Genstar - Writings",
"description": "UNDER CONSTRUCTION",
"filter": "sh ./scr/txt-html-filer.sh",
"content": "/uc.txt",
"file": "/write.html"
},
"projects": {
"title": "Genstar - Projects",
"description": "My projects",
"filter": "sh ./scr/txt-html-filer.sh",
"content": "/uc.txt",
"file": "/proj.html"
}
}

22
gen/main.pl Normal file
View file

@ -0,0 +1,22 @@
#!/usr/bin/perl
use warnings;
open my $template, '<', './gen/main.html' or die "Cannot read template: $!";
$a = 0;
$title = $ARGV[0];
$description = $ARGV[1];
while( <$template> ) {
if (/<ARTICLE>/) {
print $_;
print <STDIN>;
$a = 1;
}
$a = 0 if /<\/ARTICLE>/;
next if $a;
s/(<TITLE>).*(<\/TITLE>)/$1${title}$2/g;
s/(<META HTTP-EQUIV="Description" CONTENT=").*(">)/$1${description}$2/g;
print $_;
}
close $template;

11
gen/main.sh Normal file
View file

@ -0,0 +1,11 @@
#!/bin/sh
jq -c '.[]' ./gen/main.json | while IFS=$'\n' read L; do
TITLE=`jq -r '.title' <<< $L`
DESCRIPTION=`jq -r '.description' <<< $L`
FILTER=`jq -r '.filter' <<< $L`
CONTENT_SUF=`jq -r '.content' <<< $L`
OUTPUT_SUF=`jq -r '.file' <<< $L`
CONTENT='./gen/main'"$CONTENT_SUF"
OUTPUT='./build/www'"$OUTPUT_SUF"
$FILTER < $CONTENT | perl ./gen/main.pl "$TITLE" "$DESCRIPTION" > $OUTPUT
done

8
gen/main/chat.txt Normal file
View file

@ -0,0 +1,8 @@
Send me E-Mails at:
genstar+inbox@disroot.org
I'm sometimes available in Jabber/XMPP at:
genstar@disroot.org
Also available in Matrix at:
@genstar:cybre.space

8
gen/main/home.txt Normal file
View file

@ -0,0 +1,8 @@
Hello, happy to meet you here.
I'm Genstar, the local neckless dog.
You can gather more information about me by clicking in one of the pictures down below.
Bienvenidos seas, soy Genstar, el perro que no necesita de cuellos.
Haz clic en los garabatos de abajo para saber más acerca de mí.
你好,这只狗的名字叫Genstar。这只狗不需有脖子。点击在草图俩了解我。

9
gen/main/social.txt Normal file
View file

@ -0,0 +1,9 @@
Ah, yeah... You can meet me at these places on the Fediverse:
Mastodon: @Genstar@meow.social
Here is where I talk about a variety of stuff.
PixelFed: @Genstar@pixelfur.maw.best
Here I fave pleasurable pictures as well upload horny art when I make it. So there IS going to be lewd stuff. And lots of vore.
I prefer to be talking with grown ups at these places for the most part.

2
gen/main/uc.txt Normal file
View file

@ -0,0 +1,2 @@
UNDER CONSTRUCTION

5
scr/build.sh Normal file
View file

@ -0,0 +1,5 @@
#!/bin/sh
mkdir -p build &&
cp -r ./www ./build/www &&
sh ./scr/wbmp-fallback.sh &&
sh ./gen/main.sh

2
scr/clean.sh Normal file
View file

@ -0,0 +1,2 @@
#!/bin/sh
rm -rvf ./build

3
scr/txt-html-filer.sh Normal file
View file

@ -0,0 +1,3 @@
#!/bin/sh
recode utf8..html |
perl -0pe 's/\n(?!$)/<br>/g'

3
scr/wbmp-fallback.sh Normal file
View file

@ -0,0 +1,3 @@
#!/bin/sh
mkdir ./build/www/IMG/COMPAT
magick mogrify -path ./build/www/IMG/COMPAT -format JPG ./build/www/IMG/*.WBMP

BIN
www/IMG/EMPTY.WBMP Normal file

Binary file not shown.

View file

@ -1,66 +0,0 @@
<HTML>
<HEAD>
<TITLE>Genstar</TITLE>
<LINK REL="icon" TYPE="image/gif" HREF="/IMG/ICON.GIF">
<META HTTP-EQUIV="Author" CONTENT="Genstar">
<META HTTP-EQUIV="Description" CONTENT="Home Page">
<META HTTP-EQUIV="Keywords" CONTENT="Genstar,neckless,dog,furry,art,software,coding,vore">
<SCRIPT SRC="/EXT/WBMP/wbmp.js"></SCRIPT>
<STYLE>img{image-rendering: pixelated}a{text-decoration:none}</STYLE>
</HEAD>
<BODY>
<HEADER><CENTER>
<A
TARGET="INFO"
HREF="data:text/plain;charset=utf-8;base64,SGVsbG8sIGhhcHB5IHRvIG1lZXQgeW91IGhlcmUuCkknbSBHZW5zdGFyLCB0aGUgbG9jYWwgbmVja2xlc3MgZG9nLgpZb3UgY2FuIGdhdGhlciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IG1lIGJ5IGNsaWNraW5nIGluIG9uZSBvZiB0aGUgcGljdHVyZXMgZG93biBiZWxvdy4KCkJpZW52ZW5pZG9zIHNlYXMsIHNveSBHZW5zdGFyLCBlbCBwZXJybyBxdWUgbm8gbmVjZXNpdGEgZGUgY3VlbGxvcy4KSGF6IGNsaWMgZW4gbG9zIGdhcmFiYXRvcyBkZSBhYmFqbyBwYXJhIHNhYmVyIG3DoXMgYWNlcmNhIGRlIG3DrS4KCuS9oOWlve+8jOi/meWPqueLl+eahOWQjeWtl+WPq++8p++9he+9ju+9k++9lO+9ge+9kuOAgui/meWPqueLl+S4jemcgOacieiEluWtkOOAgueCueWHu+WcqOiNieWbvuS/qeS6huino+aIkeOAgg==">
<IMG SRC="/IMG/HEADER.WBMP" ALT="Genstar" WIDTH=72 HEIGHT=28>
</A>
</CENTER></HEADER>
<HR>
<CENTER><IFRAME
NAME="INFO"
SRC="data:text/plain;charset=utf-8;base64,SGVsbG8sIGhhcHB5IHRvIG1lZXQgeW91IGhlcmUuCkknbSBHZW5zdGFyLCB0aGUgbG9jYWwgbmVja2xlc3MgZG9nLgpZb3UgY2FuIGdhdGhlciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IG1lIGJ5IGNsaWNraW5nIGluIG9uZSBvZiB0aGUgcGljdHVyZXMgZG93biBiZWxvdy4KCkJpZW52ZW5pZG9zIHNlYXMsIHNveSBHZW5zdGFyLCBlbCBwZXJybyBxdWUgbm8gbmVjZXNpdGEgZGUgY3VlbGxvcy4KSGF6IGNsaWMgZW4gbG9zIGdhcmFiYXRvcyBkZSBhYmFqbyBwYXJhIHNhYmVyIG3DoXMgYWNlcmNhIGRlIG3DrS4KCuS9oOWlve+8jOi/meWPqueLl+eahOWQjeWtl+WPq++8p++9he+9ju+9k++9lO+9ge+9kuOAgui/meWPqueLl+S4jemcgOacieiEluWtkOOAgueCueWHu+WcqOiNieWbvuS/qeS6huino+aIkeOAgg=="></IFRAME></CENTER>
<HR>
<CENTER>
<A
TARGET="INFO"
HREF="data:text/plain;utf8,Ah%2C%20yeah...%20You%20can%20meet%20me%20at%20these%20places%20on%20the%20Fediverse%3A%0A%0AMastodon%3A%20%40Genstar%40meow.social%0AHere%20is%20where%20I%20talk%20about%20a%20variety%20of%20stuff.%0A%0APixelFed%3A%20%40Genstar%40pixelfur.maw.best%0AHere%20I%20fave%20pleasurable%20pictures%20as%20well%20upload%20horny%20art%20when%20I%20make%20it.%20So%20there%20IS%20going%20to%20be%20lewd%20stuff.%20And%20lots%20of%20vore.%0A%0AI%20prefer%20to%20be%20talking%20with%20grown%20ups%20at%20these%20places%20for%20the%20most%20part.">
<IMG SRC="/IMG/SOCIAL.WBMP" ALT="Socials" WIDTH=72 HEIGHT=28>
</A>
<A
TARGET="INFO"
HREF="data:text/plain;utf8,Send%20me%20E-Mails%20at%3A%0Agenstar%2Binbox%40disroot.org%0A%0AI%27m%20sometimes%20available%20in%20Jabber/XMPP%20at%3A%0Agenstar%40disroot.org%0A%0AAlso%20available%20in%20Matrix%20at%3A%0A%40genstar%3Acybre.space">
<IMG SRC="/IMG/CHAT.WBMP" ALT="Chat" WIDTH=72 HEIGHT=28>
</A>
<IMG WIDTH=72 HEIGHT=28>
<BR>
<A
TARGET="INFO"
HREF="data:text/plain;utf8,UNDER%20CONSTRUCTION">
<IMG SRC="/IMG/ART.WBMP" ALT="Art" WIDTH=72 HEIGHT=28>
</A>
<A
TARGET="INFO"
HREF="data:text/plain;utf8,UNDER%20CONSTRUCTION">
<IMG SRC="/IMG/WRITE.WBMP" ALT="Writings" WIDTH=72 HEIGHT=28>
</A>
<A
TARGET="INFO"
HREF="data:text/plain;utf8,UNDER%20CONSTRUCTION">
<IMG SRC="/IMG/PROJECT.WBMP" ALT="Projects" WIDTH=72 HEIGHT=28>
</A>
</CENTER>
<SCRIPT>
var images = document.getElementsByTagName('IMG');
for( var i = 0 ; i < images.length ; i++ ) {
images[i].onerror = function() {
var s = this.src;
var t = /(\.wbmp|\.WBMP)$/.test(s);
if (t) {
WBMP.decode(this,s);
};
};
}
</SCRIPT>
</BODY>
</HTML>