This commit is contained in:
@ -26,8 +26,6 @@
|
||||
<!-- Tailwind output file -->
|
||||
<link rel="stylesheet" href="/styles/output.css" />
|
||||
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
|
||||
<link rel="icon" type="image/svg+xml" href="/images/m-logo.svg" />
|
||||
<link rel="icon" type="image/png" href="/images/m-logo-192.png" />
|
||||
</head>
|
||||
|
@ -3,7 +3,7 @@
|
||||
{% block og_meta %}
|
||||
<meta property="og:title" content="{{title}}" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:url" content="https://michalvanko.dev/blog/{{slug}}" />
|
||||
<meta property="og:url" content="https://michalvanko.dev/{{segment}}/{{slug}}" />
|
||||
{% match thumbnail %}
|
||||
{% when Some with (img) %}
|
||||
{% let src = crate::picture_generator::image_src_generator::generate_image_with_src(img, 1200, 630, "_og", true).unwrap_or("thumbnail not found".to_string())|safe %}
|
||||
|
@ -2,7 +2,7 @@
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block og_meta %}
|
||||
<meta property="og:title" content="{{title}} @michalvankodev" />
|
||||
<meta property="og:title" content="{{og_title}} @michalvankodev" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://michalvanko.dev{{current_url}}" />
|
||||
<meta property="og:image" content="https://michalvanko.dev/images/m-logo.svg" />
|
||||
@ -10,24 +10,20 @@
|
||||
|
||||
{% block content %}
|
||||
|
||||
<section id="blog-container" class="lg:grid lg:grid-cols-[2fr_1fr] lg:grid-rows-[min-content_1fr] lg:gap-x-32 max-w-maxindex mx-auto">
|
||||
<section id="blog-container" class="lg:grid lg:grid-cols-[2fr_1fr] lg:grid-rows-[min-content_1fr] xl:gap-x-32 max-w-maxindex mx-auto">
|
||||
<section id="blog-list" class="lg:row-span-2">
|
||||
{% if posts.len() == 0 %}
|
||||
<p class="no-posts">You've found void in the space.</p>
|
||||
{% else %}
|
||||
<h1 class="m-5 text-4xl text-blue-950 font-extrabold md:text-6xl">
|
||||
{% if let Some(t) = tag %}
|
||||
#{{t}}
|
||||
{% else %}
|
||||
Blog posts
|
||||
{% endif %}
|
||||
{{title}}
|
||||
</h1>
|
||||
|
||||
<section id="blog-tags">
|
||||
<ul class="mx-5">
|
||||
{% for tag in blog_tags %}
|
||||
{% for tag in tags %}
|
||||
<li class="inline-block mx-0.5 p-0.5 md:text-xl">
|
||||
<a href="/blog/tags/{{tag}}" class="text-pink-950">#{{tag|capitalize}}</a>
|
||||
<a href="/{{segment}}/tags/{{tag}}" class="text-pink-950">#{{tag|capitalize}}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
@ -11,7 +11,7 @@
|
||||
</aside>
|
||||
<header>
|
||||
<h3 class="text-lg font-bold mb-1 md:text-3xl">
|
||||
<a rel="prefetch" href="/blog/{{post.slug}}" class="text-blue-950 visited:text-purple-700 no-underline">{{post.metadata.title}}</a>
|
||||
<a rel="prefetch" href="/{{segment}}/{{post.slug}}" class="text-blue-950 visited:text-purple-700 no-underline">{{post.metadata.title}}</a>
|
||||
</h3>
|
||||
</header>
|
||||
<section class="text-base leading-5 text-slate-800 md:text-xl text-justify">{{post.body|description_filter|safe}}</section>
|
||||
@ -19,7 +19,7 @@
|
||||
<ul class="inline-block">
|
||||
{% for tag in post.metadata.tags %}
|
||||
<li class="inline-block">
|
||||
<a href="/blog/tags/{{tag}}" class="text-pink-950 no-underline">#{{tag|capitalize}}</a>
|
||||
<a href="/{{segment}}/tags/{{tag}}" class="text-pink-950 no-underline">#{{tag|capitalize}}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
16
templates/egg_fetcher_page.html
Normal file
16
templates/egg_fetcher_page.html
Normal file
@ -0,0 +1,16 @@
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}Egg fetcher showcase{% endblock %}
|
||||
|
||||
{% block og_meta %}
|
||||
<meta property="og:title" content="Egg fetcher showcase" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:url" content="https://michalvanko.dev/showcase/egg-fetcher" />
|
||||
<meta property="og:image" content="https://michalvanko.dev/images/m-logo.svg" />
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<article class="article-body">
|
||||
{% include "showcase/egg-fetcher.html" %}
|
||||
</article>
|
||||
{% endblock %}
|
@ -41,12 +41,13 @@
|
||||
</section>
|
||||
|
||||
<section id="blog" class="lg:col-span-2 lg:row-start-2 xl:col-auto xl:row-start-auto xl:row-span-2">
|
||||
{% let segment = "blog".to_string() %}
|
||||
<h2 class="text-blue-950 font-bold text-2xl md:text-4xl m-5"><a href="/blog" class="text-blue-950 no-underline">Blog</a></h2>
|
||||
<section id="blog-tags">
|
||||
<ul class="mx-5">
|
||||
{% for tag in blog_tags %}
|
||||
<li class="inline-block mx-0.5 p-0.5 md:text-xl">
|
||||
<a href="/blog/tags/{{tag}}" class="text-pink-950">#{{tag|capitalize}}</a>
|
||||
<a href="/{{segment}}/tags/{{tag}}" class="text-pink-950">#{{tag|capitalize}}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<ul class="inline">
|
||||
{% for tag in tags %}
|
||||
<li class="inline italic text-blue-700 md:text-lg">
|
||||
<a href="/blog/tags/{{tag}}">#{{tag}}</a>
|
||||
<a href="/{{segment}}/tags/{{tag}}">#{{tag}}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
15
templates/showcase/egg-fetcher.html
Normal file
15
templates/showcase/egg-fetcher.html
Normal file
@ -0,0 +1,15 @@
|
||||
<h1>Egg-fetcher</h1>
|
||||
|
||||
<p>As mentioned in <a href="/blog/2022-06-26-our-attempt-at-rusty-game-jam-weekly-25-2022">Weekly #25-2022</a>, I've attended the <a href="https://itch.io/jam/rusty-jam-2">Rusty game jam #2</a> where we had a week to <strong>create a game with Rust</strong>.</p>
|
||||
<p>I've teamed up with <a href="https://github.com/silen-z/">@silen-z</a>. We haven't been able to finish the game. We didn't even make the mechanics we were thinking of. But I'd like to show <strong>the incomplete version of Egg-fetcher</strong> anyway. As we built it with Rust and <a href="https://bevyengine.org/">bevy engine</a> we were able to <a href="https://github.com/septum/rusty_jam_bevy_template">reuse a template</a> that had a configured WASM build. Therefore is very easy to just present the game in the browser.</p>
|
||||
<iframe title="Egg fetcher game" src="/egg-fetcher/index.html" width="800" height="600"></iframe>
|
||||
<p><strong>The only functional controls are arrows</strong>. We have built a collision system where the chickens should move out of the way of the player and his pet. The player is not able to move through the fences and so on. We wanted to <strong>create a puzzle</strong> where you would have to play fetch with your pet dog to control the chickens and simultaneously control player movement.</p>
|
||||
<p>This was only my 3rd attempt at a Rust codebase and therefore I got pretty much always stuck at some problem with borrow-checker or lifetimes.
|
||||
I learned many things and I'd like to continue with Rust and use it more in my side-projects.</p>
|
||||
<style>
|
||||
iframe {
|
||||
height: 720px;
|
||||
width: 1280px !important;
|
||||
max-width: 1280px !important;
|
||||
}
|
||||
</style>
|
Reference in New Issue
Block a user