Skip to content

Latest commit

 

History

History
68 lines (46 loc) · 1.95 KB

README.md

File metadata and controls

68 lines (46 loc) · 1.95 KB

A Wasm-based, low effort blog that loads MD/MDx files. Made with Trunk and Yew.

Posts are stored via posts/ in the project's root, which Trunk copies over on build. Wasm bindings are used to call fetch, where the post is rendered as HTML and displayed.

Note: please do not delete metadata.json - it's used for loading posts! It is autogenerated on each build, where it parses each post's header:

The id must also match the filename! (id: example -> example.md)

---
title: Example title
id: example
date: Jan 1st 1900
author: example author
desc: Example!!
---

Usage

For a more thorough explanation of Trunk and its features, please head over to the repository.

Installation

If you don't already have it installed, it's time to install Rust: https://www.rust-lang.org/tools/install. The rest of this guide assumes a typical Rust installation which contains both rustup and Cargo.

To compile Rust to WASM, we need to have the wasm32-unknown-unknown target installed. If you don't already have it, install it with the following command:

rustup target add wasm32-unknown-unknown

Now that we have our basics covered, it's time to install the star of the show: Trunk. Simply run the following command to install it:

cargo install trunk wasm-bindgen-cli

That's it, we're done!

Running

trunk serve

Rebuilds the app whenever a change is detected and runs a local server to host it.

There's also the trunk watch command which does the same thing but without hosting it.

Release

trunk build --release

This builds the app in release mode similar to cargo build --release. You can also pass the --release flag to trunk serve if you need to get every last drop of performance.

Unless overwritten, the output will be located in the dist directory.