mirror of
https://github.com/phil-opp/blog_os.git
synced 2025-12-17 14:57:49 +00:00
The post was split off the Heap Allocations post because it became too large. To keep the tree clean, it was then temporarily removed. This commit restores the post by reverting the removal commit.
This reverts commit 029d77ef21.
136 lines
6.1 KiB
HTML
136 lines
6.1 KiB
HTML
{% extends "second-edition/base.html" %}
|
|
|
|
{% import "macros.html" as macros %}
|
|
|
|
{% block title %}{{ config.title }}{% endblock title %}
|
|
|
|
{% block main %}
|
|
{% set posts_section = get_section(path = "second-edition/posts/_index.md") %}
|
|
{% set posts = posts_section.pages %}
|
|
|
|
<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 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="exceptions" class="post-category exceptions">Exceptions</div>
|
|
<div class="posts exceptions">
|
|
{{ macros::post_link(page=posts.4) }}
|
|
{{ macros::post_link(page=posts.5) }}
|
|
{{ macros::post_link(page=posts.6) }}
|
|
</div>
|
|
|
|
<div id="memory-management" class="post-category memory-management">Memory Management</div>
|
|
<div class="posts memory-management">
|
|
{{ macros::post_link(page=posts.7) }}
|
|
{{ macros::post_link(page=posts.8) }}
|
|
{{ macros::post_link(page=posts.9) }}
|
|
{{ macros::post_link(page=posts.10) }}
|
|
</div>
|
|
|
|
<div class="posts subscribe">
|
|
<h2 class="post-title">Subscribe</h2>
|
|
<p>Receive notifications about new posts and other major changes! You can either:</p>
|
|
|
|
<p><ul>
|
|
<li>Subscribe to our <a href="/rss.xml">RSS/Atom Feed</a>,</li>
|
|
<li>Subscribe to <a href="https://github.com/phil-opp/blog_os/issues/479">this GitHub issue</a>, or</li>
|
|
<li>Subscribe to our <a href="https://tinyletter.com/phil-opp/">email newsletter</a>.</li>
|
|
</ul></p>
|
|
</div>
|
|
|
|
<div class="posts first-edition">
|
|
<h2 class="post-title">First Edition</h2>
|
|
You are viewing the second edition of “Writing an OS in Rust”, which is still in progress. The <a href="{{ get_url(path = "/first-edition") | safe }}">first edition</a> has more content, but is no longer updated. We try our best to incorporate the missing content soon.
|
|
</div>
|
|
|
|
<hr>
|
|
|
|
<div class="frontpage-section">
|
|
{% set extra = get_section(path = "second-edition/extra/_index.md") %}
|
|
<h1>{{ extra.title }}</h1>
|
|
<ul>
|
|
{% for subsection in extra.subsections %}
|
|
<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>
|
|
</div>
|
|
|
|
<div class="frontpage-section">
|
|
<h1>Status Updates</h1>
|
|
{% set status_updates = get_section(path = "status-update/_index.md") %}
|
|
<p>{{ status_updates.description }}</p>
|
|
<ul>
|
|
{% for page in status_updates.pages | slice(end=3) %}
|
|
<li><b><a href="/{{ page.path | safe }}">{{ page.title }}</a></b></li>
|
|
{% endfor %}
|
|
<li><a href="{{ get_url(path="@/status-update/_index.md") | safe }}"><em>view all »</em></a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="frontpage-section">
|
|
<h1>Support Me</h1>
|
|
{% include "support.html" %}
|
|
</div>
|
|
|
|
<aside id="recent-updates">
|
|
<div class="block">
|
|
<h1>Recent Updates</h1>
|
|
{% include "auto/recent-updates.html" %}
|
|
</div>
|
|
|
|
<div class="block">
|
|
<h1>Repository</h1>
|
|
<div class="gh-repo-box">
|
|
<div>
|
|
<svg viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"></path></svg>
|
|
<a href="https://github.com/phil-opp/blog_os" class="repo-link">
|
|
<span title="blog_os">phil-opp/blog_os</span>
|
|
</a>
|
|
</div>
|
|
|
|
<p class="subtitle">
|
|
Writing an OS in Rust
|
|
</p>
|
|
|
|
<p class="stars-forks">
|
|
<a href="https://github.com/phil-opp/blog_os/stargazers" class="stars">
|
|
<svg aria-label="stars" viewBox="0 0 14 16" version="1.1" width="14" height="16" role="img"><path fill-rule="evenodd" d="M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74L14 6z"></path></svg>
|
|
{% include "auto/stars.html" %}
|
|
</a>
|
|
<a href="https://github.com/phil-opp/blog_os/network/members" class="forks">
|
|
<svg aria-label="forks" viewBox="0 0 10 16" version="1.1" width="10" height="16" role="img"><path fill-rule="evenodd" d="M8 1a1.993 1.993 0 0 0-1 3.72V6L5 8 3 6V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V6.5l3 3v1.78A1.993 1.993 0 0 0 5 15a1.993 1.993 0 0 0 1-3.72V9.5l3-3V4.72A1.993 1.993 0 0 0 8 1zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3 10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3-10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"></path></svg>
|
|
{% include "auto/forks.html" %}
|
|
</a>
|
|
|
|
<a href="https://github.com/sponsors/phil-opp" class="sponsor" href="#support-me">
|
|
<svg viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M9 2c-.97 0-1.69.42-2.2 1-.51.58-.78.92-.8 1-.02-.08-.28-.42-.8-1-.52-.58-1.17-1-2.2-1-1.632.086-2.954 1.333-3 3 0 .52.09 1.52.67 2.67C1.25 8.82 3.01 10.61 6 13c2.98-2.39 4.77-4.17 5.34-5.33C11.91 6.51 12 5.5 12 5c-.047-1.69-1.342-2.913-3-3z"></path></svg>
|
|
Sponsor
|
|
</a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
</aside>
|
|
|
|
{% endblock main %}
|