This project tries to replicate the overall architecture and working of the quartz project and package it all into a rust-based single executable application.

Ideas

  • an option to make the vault to be secure, as in has a password wall in order to access it’s contents if the user wants so to happen
  • an amazing searching features that users proper indexing, can be a direct copy of the ObsidianSearch

Notes

While trying to accomplish so, this project may take inspiration from following projects:

Following are the projects that may be usefull directly or indirectly

  • mdbook-katex - latex preprocessor for mdbook that renders latex using katex.rs
  • katex.rs - rust bindings for katex project
  • pulldown-cmark - CommonMark parser in rust
  • MathJax - math rendering library for the browser
  • markdown.rs - CommonMark parser in rust with ASTs and extensions support
  • liquid-rust - rust templating engine
  • notify - filesystem notification library for rust
  • walkdir - Rust library for walking directories recursively - will come usefull when dealing with big /content folders

One of the first things that we can do, is to actually use all of the inspiration projects ourselves to see what they do, how they do it and just try to come up with a simple overview of what might be happening under the hood.

  • mdbook
    • has proper support for innitializing a project
    • does not enable latex rendering by default, there are 2 ways to do so, using the mathjax-support = true statement in output.html section of the book.toml file (it works flawlessly)
    • the latex works perfectly both while serving markdown content as well as when the content is built
    • the built content can be easily served by using live-server without any problems what so ever
  • cobalt
    • uses liquid-rust templating engine
    • sucks to be really honest
    • uses the cobalt CLI to actually create pages and posts which I don’t really like, it kind of sucks
  • zola
    • it was way too complicating to look at
    • uses askama templating engine