Merge pull request #729 from phil-opp/front-page-update

Some style updates to the front page
This commit is contained in:
Philipp Oppermann
2020-01-28 17:45:18 +01:00
committed by GitHub
8 changed files with 11 additions and 24 deletions

View File

@@ -2,7 +2,7 @@
title = "Disable the Red Zone"
weight = 1
path = "red-zone"
template = "second-edition/extra.html"
+++
The [red zone] is an optimization of the [System V ABI] that allows functions to temporarily use the 128 bytes below its stack frame without adjusting the stack pointer:

View File

@@ -2,7 +2,7 @@
title = "Disable SIMD"
weight = 2
path = "disable-simd"
template = "second-edition/extra.html"
+++
[Single Instruction Multiple Data (SIMD)] instructions are able to perform an operation (e.g. addition) simultaneously on multiple data words, which can speed up programs significantly. The `x86_64` architecture supports various SIMD standards:

View File

@@ -169,7 +169,7 @@ This setting specifies that the target doesn't support [stack unwinding] on pani
We're writing a kernel, so we'll need to handle interrupts at some point. To do that safely, we have to disable a certain stack pointer optimization called the _“red zone”_, because it would cause stack corruptions otherwise. For more information, see our separate post about [disabling the red zone].
[disabling the red zone]: @/second-edition/extra/disable-red-zone/index.md
[disabling the red zone]: @/second-edition/posts/02-minimal-rust-kernel/disable-red-zone/index.md
```json
"features": "-mmx,-sse,+soft-float",
@@ -183,7 +183,7 @@ The `mmx` and `sse` features determine support for [Single Instruction Multiple
A problem with disabling SIMD is that floating point operations on `x86_64` require SIMD registers by default. To solve this problem, we add the `soft-float` feature, which emulates all floating point operations through software functions based on normal integers.
For more information, see our post on [disabling SIMD](@/second-edition/extra/disable-simd/index.md).
For more information, see our post on [disabling SIMD](@/second-edition/posts/02-minimal-rust-kernel/disable-simd/index.md).
#### Putting it Together
Our target specification file now looks like this:

View File

@@ -3,7 +3,7 @@
<h2 class="post-title"><a href="/{{ page.path | safe }}">{{ page.title }}</a></h2>
<div class="post-summary">
{{ page.summary | safe}}
<a class="read-more" href="/{{ page.path | safe }}">read&nbsp;more</a>
<a class="read-more" href="/{{ page.path | safe }}"><em>read&nbsp;more&nbsp;»</em></a>
</div>
</div>
{% endmacro post_link %}

View File

@@ -25,7 +25,7 @@
<header class="masthead">
<div style="position:relative">
<h1 class="masthead-title">
<a href="{{ config.base_url | safe }}" title="Home">{{ config.title | safe }} (Second Edition)</a>
<a href="{{ config.base_url | safe }}" title="Home">{{ config.title | safe }}</a>
</h1>
<p><small>{{ config.extra.subtitle | replace(from=" ", to="&nbsp;") | safe }}</small></p>
{% block header %}{% endblock header %}

View File

@@ -55,26 +55,8 @@
</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") %}
@@ -88,6 +70,11 @@
</div>
<div class="frontpage-section">
<h1 class="post-title">First Edition</h1>
<p>You are currently viewing the second edition of “Writing an OS in Rust”. The first edition is very different in many aspects, for example it builds upon the GRUB bootloader instead of using the `bootloader` crate. In case you're interested in it, it is still available. Note that the first edition is no longer updated and might contain outdated information. <a class="read-more" href="{{ get_url(path = "/first-edition") | safe }}"><em>read&nbsp;the&nbsp;first edition&nbsp;»</em></a></p>
</div>
<div class="">
<h1>Support Me</h1>
{% include "support.html" %}
</div>