Skip to content
This repository has been archived by the owner on May 1, 2024. It is now read-only.

dominik-stumpf/post-paper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

post-paper

Note

This project started off as a learning experience (succeeded on that part) and it has been archived for now as I don't have the motivation anymore to maintain and implement new features to it. I decided to forward my abitions towards an another similiar community based website. If you don't see any blogs then it is a sign that the database is not active anymore.

About

Postpaper is a posting platform prototype where people can edit their posts in a vim editor along with a real-time Rust powered markdown preview.

Showcase videos are located in the /showcase directory.

The markdown parsing is established by a fork of a Rust project called markdown-rs that is compiled down to WebAssembly and then ran in a web worker environment and for seamless coconut oil experience.

Here is a simple visualization of the data flow:

       raw markdown string                        string > mdast > hast                   hast is also received by the editor, the scroll between the editor and md preview is syncronised by the hast offset
Editor >> web worker with markdown-rs WebAssembly >> Prose preview renders real-time HTML >> Editor loopback

The goal for the real-time parsing was ~65000 characters of diverse markdown parsed below an unnoticeable delay of 40ms on my old rusty laptop. pun intended

Succeeded on that part as well :D

Build commands

See /build-project.sh

License

Except where explicitly stated (in individual files) otherwise, all contributions in this repository are licensed under:

MIT License

Placeholder blogs were generated by ChatGPT.