Compare commits

...

5 commits

4 changed files with 67 additions and 9 deletions

View file

@ -1,24 +1,29 @@
--- ---
title: introducing webdog title: introducing webdog
timestamp: "2024-11-13T23:02:36.179943751Z" timestamp: "2025-01-15T09:55:25.582937828Z"
tags: tags:
- webdog - webdog
- meta - meta
- dev - dev
cdn_file: null cdn_file: webdog.jpg
header_image_alt: placeholder header_image_alt: placeholder
desc: my static site builder, now available for anyone :3 desc: my static site generator, now available for anyone :3
draft: true
--- ---
# [webdog.](https://webdog.zyl.gay) # [webdog.](https://webdog.zyl.gay)
if you've been to my site recently, you may have noticed the "powered by webdog" text in the footer. if not, then surprise! i've been upgrading the tool i wrote to build this site to make it more general (i.e. NOT coupled explicitly to my own website) and more easily available for anyone to use. if you've been to my site recently, you may have noticed the "powered by webdog" text in the footer. if not, then surprise! i've been working on upgrading the tool i built for this site to make it easier for anyone to use.
if this post is out of drafts by the time you read this, it should be ready to be installed like so (if you have rust installed): if you have [rust](https://rust-lang.org) installed, you can install webdog like this:
```sh ```sh
cargo install webdog cargo install webdog
``` ```
and that's it! now you can use webdog to build a site of your own! the [webdog site](https://webdog.zyl.gay) has more information on how to use it, but i'll write some stuff up here too at some point. and that's it! now you can use webdog to build a site of your own! if i were creating zyl.gay again today, i'd run this command to get started:
```sh
webdog create --site ./zyllian.github.io https://zyl.gay/ "zyl is gay" --cdn-url https://i.zyl.gay/
```
from here, you could consult the [webdog documentation](https://webdog.zyl.gay/docs/) for more info on how to build your site.

View file

@ -9,7 +9,10 @@ header_image_alt: Screenshot of my Minecraft classic server showing two players
a while ago i was looking for something to do and my brain decided i should.. build a complete reimplementation of the minecraft server, naturally. i knew i'd never get anywhere close to finishing that project before losing steam so instead, i redirected this inspiration into [a minecraft classic server](https://github.com/zyllian/classics)! a while ago i was looking for something to do and my brain decided i should.. build a complete reimplementation of the minecraft server, naturally. i knew i'd never get anywhere close to finishing that project before losing steam so instead, i redirected this inspiration into [a minecraft classic server](https://github.com/zyllian/classics)!
<md class="float-left w50" type="blog-image" src="cdn$2024/07/classic1.png" content="at one point while changing my world format, worlds started getting sent to clients diagonally! don't remember what caused this, though."></md> <wd-partial t="blog/blog-image.tera" class="float-left w50" src="cdn$2024/07/classic1.png">
at one point while changing my world format, worlds started getting sent to clients diagonally! don't remember what caused this, though.
</wd-partial>
<!-- <md class="float-left w50" type="blog-image" src="cdn$2024/07/classic1.png" content="at one point while changing my world format, worlds started getting sent to clients diagonally! don't remember what caused this, though."></md> -->
minecraft classic has [fairly simple networking](https://wiki.vg/Classic_Protocol) as it turns out, so building a server which vanilla classic clients can connect to isn't too bad if you know what you're doing, and with no need to stay true to the vanilla map format, you can simplify things even further! minecraft classic has [fairly simple networking](https://wiki.vg/Classic_Protocol) as it turns out, so building a server which vanilla classic clients can connect to isn't too bad if you know what you're doing, and with no need to stay true to the vanilla map format, you can simplify things even further!
@ -17,4 +20,7 @@ minecraft classic actually still has a decently large community around it, and w
my implementation lacks basically any kind of anti-cheat and is lacking most of the community protocol extensions, but it's still pretty cool to have built it! i love working on random projects and it's nice to see one which is actually useable, even if there's [a lot to add](https://zyllian/classics/issues)! my implementation lacks basically any kind of anti-cheat and is lacking most of the community protocol extensions, but it's still pretty cool to have built it! i love working on random projects and it's nice to see one which is actually useable, even if there's [a lot to add](https://zyllian/classics/issues)!
<md type="blog-image" src="cdn$2024/07/classic3.png" content="screenshot of me stress testing how many players i could connect to the server :3"></md> <wd-partial t="blog/blog-image.tera" src="cdn$2024/07/classic3.png">
screenshot of me stress testing how many players i could connect to the server :3
</wd-partial>
<!-- <md type="blog-image" src="cdn$2024/07/classic3.png" content="screenshot of me stress testing how many players i could connect to the server :3"></md> -->

View file

@ -218,3 +218,34 @@ abbr {
display: none; display: none;
} }
} }
.wd-codeblock {
position: relative;
text-indent: 0;
tab-size: 2;
.copy {
display: none;
opacity: 0;
z-index: 1;
position: absolute;
top: 0;
right: 0;
transition: opacity linear 0.1s;
&:focus {
transition: none;
opacity: 1;
}
}
&:hover .copy,
&:focus .copy {
opacity: 1;
}
& > pre {
padding: 8px;
overflow: auto;
}
}

View file

@ -0,0 +1,16 @@
{% if "class" in userdata %}
{% set class = userdata.class %}
{% else %}
{% set class = "" %}
{% endif %}
{% if "alt" in userdata %}
{% set alt = userdata.alt %}
{% else %}
{% set alt = "" %}
{% endif %}
<div class="image {{class}}">
<a href="{{userdata.src}}"><img src="{{userdata.src}}" alt="{{alt}}"></a>
<span>{{ page | safe }}</span>
</div>