mirror of
https://github.com/phil-opp/blog_os.git
synced 2025-12-20 16:07:49 +00:00
Compare commits
6 Commits
7ec753b2ca
...
f4bdfb24fd
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f4bdfb24fd | ||
|
|
6367e931e5 | ||
|
|
5c3adee95b | ||
|
|
fc8c87bee5 | ||
|
|
e1c58bba97 | ||
|
|
7ce356f99d |
@@ -77,7 +77,7 @@ error[E0463]: can't find crate for `test`
|
|||||||
#![test_runner(crate::test_runner)]
|
#![test_runner(crate::test_runner)]
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
fn test_runner(tests: &[&dyn Fn()]) {
|
pub fn test_runner(tests: &[&dyn Fn()]) {
|
||||||
println!("Running {} tests", tests.len());
|
println!("Running {} tests", tests.len());
|
||||||
for test in tests {
|
for test in tests {
|
||||||
test();
|
test();
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ error[E0463]: can't find crate for `test`
|
|||||||
#![test_runner(crate::test_runner)]
|
#![test_runner(crate::test_runner)]
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
fn test_runner(tests: &[&dyn Fn()]) {
|
pub fn test_runner(tests: &[&dyn Fn()]) {
|
||||||
println!("Running {} tests", tests.len());
|
println!("Running {} tests", tests.len());
|
||||||
for test in tests {
|
for test in tests {
|
||||||
test();
|
test();
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ To implement a custom test framework for our kernel, we add the following to our
|
|||||||
#![test_runner(crate::test_runner)]
|
#![test_runner(crate::test_runner)]
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
fn test_runner(tests: &[&dyn Fn()]) {
|
pub fn test_runner(tests: &[&dyn Fn()]) {
|
||||||
println!("Running {} tests", tests.len());
|
println!("Running {} tests", tests.len());
|
||||||
for test in tests {
|
for test in tests {
|
||||||
test();
|
test();
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ error[E0463]: can't find crate for `test`
|
|||||||
#![test_runner(crate::test_runner)]
|
#![test_runner(crate::test_runner)]
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
fn test_runner(tests: &[&dyn Fn()]) {
|
pub fn test_runner(tests: &[&dyn Fn()]) {
|
||||||
println!("Running {} tests", tests.len());
|
println!("Running {} tests", tests.len());
|
||||||
for test in tests {
|
for test in tests {
|
||||||
test();
|
test();
|
||||||
|
|||||||
BIN
scripts/cover.png
Normal file
BIN
scripts/cover.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 66 KiB |
30
scripts/create-book.sh
Executable file
30
scripts/create-book.sh
Executable file
@@ -0,0 +1,30 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# create working dir
|
||||||
|
rm -r book/
|
||||||
|
mkdir book/
|
||||||
|
|
||||||
|
# copy data to working dir
|
||||||
|
cat ../blog/content/edition-2/posts/*/index.md > book/book.md
|
||||||
|
find ../blog/content/edition-2/posts ! -name "*.md" -exec cp -t book/ {} +
|
||||||
|
|
||||||
|
# remove zola metadata
|
||||||
|
sed -i '/^+++/,/^+++/d' book/book.md
|
||||||
|
# remove br in table in 06, pandoc handles the layout
|
||||||
|
sed -i '/<br>/d' book/book.md
|
||||||
|
# details/summary breaks epub layout
|
||||||
|
sed -i '/^<details>/d' book/book.md
|
||||||
|
sed -i '/^<\/details>/d' book/book.md
|
||||||
|
sed -i '/^<summary>/d' book/book.md
|
||||||
|
|
||||||
|
# special fix for linking to different folder
|
||||||
|
sed -i 's|../paging-introduction/||g' book/book.md
|
||||||
|
|
||||||
|
# go to work dir and create epub
|
||||||
|
cd book/
|
||||||
|
pandoc book.md -o "Writing an OS in Rust.epub" --metadata cover-image="../cover.png" --metadata title="Writing an OS in Rust" --metadata author="Philipp Oppermann" --metadata description="This blog series creates a small operating system in the Rust programming language. 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 Github repository."
|
||||||
|
|
||||||
|
#clean up
|
||||||
|
cd ..
|
||||||
|
mv "book/Writing an OS in Rust.epub" .
|
||||||
|
rm -rf book/
|
||||||
Reference in New Issue
Block a user