{% extends "edition-1/base.html" %}

{% import "edition-1/macros.html" as macros %}

{% block title %}{{ config.title }}{% endblock title %}

{% block main %}
{% set posts_section = get_section(path = "edition-1/posts/_index.md") %}
{% set posts = posts_section.pages %}

<h1 style="visibility: hidden; height: 0px; margin: 0px; padding: 0px;">Writing an OS in Rust (First Edition)</h1>

<div class="front-page-introduction">
    <p>
        This blog series creates a small operating system in the
        <a href="https://www.rust-lang.org/">Rust programming language</a>. Each post is a small tutorial and includes all
        needed code, so you can follow along if you like. The source code is also available in the corresponding
        <a href="https://github.com/phil-opp/blog_os">Github repository</a>.
    </p>
    <p>Latest post:
        {% set latest_post = posts|last %}
        <strong><a href="{{ latest_post.path | safe }}">{{ latest_post.title }}</a></strong>
    </p>
</div>

<div class="warning">
    <b>No longer updated!</b> You are viewing the first edition of “Writing an OS in Rust”, which is no longer updated. You can find the second edition <a href="{{ get_url(path = "@/edition-2/_index.md") | safe }}">here</a>.
</div>

<div id="bare-bones" class="post-category bare-bones">Bare Bones</div>
<div class="posts bare-bones">
    {{ macros::post_link(page=posts.0) }}
    {{ macros::post_link(page=posts.1) }}
    {{ macros::post_link(page=posts.2) }}
    {{ macros::post_link(page=posts.3) }}
</div>

<div id="memory-management" class="post-category memory-management">Memory Management</div>
<div class="posts memory-management">
    {{ macros::post_link(page=posts.4) }}
    {{ macros::post_link(page=posts.5) }}
    {{ macros::post_link(page=posts.6) }}
    {{ macros::post_link(page=posts.7) }}
</div>

<div id="interrupts" class="post-category exceptions">Exceptions</div>
<div class="posts exceptions">
    {{ macros::post_link(page=posts.8) }}
    {{ macros::post_link(page=posts.9) }}
</div>

<hr>
{% set extra = get_section(path = "edition-1/extra/_index.md") %}
<h2>{{ extra.title }}</h2>
<ul>
    {% for subsection_path in extra.subsections %}
        {% set subsection = get_section(path=subsection_path) %}
        <li><a href="{{ subsection.path | safe }}">{{ subsection.title }}</a></li>
    {% endfor %}
    {% for page in extra.pages %}
        <li><a href="{{ page.path | safe }}">{{ page.title }}</a></li>
    {% endfor %}
</ul>

<aside id="recent-updates">
    <h2>Recent Updates</h2>
    {% include "auto/recent-updates.html" %}
</aside>

{% endblock main %}
