mirror of
https://github.com/phil-opp/blog_os.git
synced 2025-12-16 14:27:49 +00:00
130 lines
5.6 KiB
HTML
130 lines
5.6 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) }}
|
|
</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">
|
|
<h2>Recent Updates</h2>
|
|
{% include "auto/recent-updates.html" %}
|
|
</div>
|
|
|
|
<div class="block">
|
|
<h2>Repository</h2>
|
|
<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>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
</aside>
|
|
|
|
{% endblock main %}
|