Q & A

  1. Why create yet another static site generator when the field is already oversaturated?

    While Bryce is aware that this effort can be considered a dime a dozen, something that he has noticed is that many of the options out there, like zola, are geared towards blogging first and foremost.

    Bryce may have gotten introduced to them in that capacity, but he wanted more flexibility and he didn't want to have to worry about finding yet another static site generator when he needs to migrate to another operating, which could only be guaranteed if he wrote it himself.

  2. Can I use this to run my own shop?

    No, you cannot.

    This static site generator was designed primarily for personal websites and/or documentation websites like this, with the capability of having a dedicated news feed.

    Nothing prevents you from trying, but, aside from not having any search functionality, products require pagination, which is only available on an archive/blog, as well as a cart and payment system, which are not going to be implemented.

    If you seek to make an ecommerce site, please consider using Wordpress or some other established platform to do so.

  3. Why JSON instead of Atom or RSS for feeds?

    While there are libraries to generate those feeds, I chose JSON because it was the simplest to verify and to ensure that identifiers always remained the same.

    While JSON feed is not commonly supported these days, I have found sites that can render the feeds well enough and give you something that should work better with the majority of feed readers.

  4. What platforms does this program support?

    Like rcheckbook, this program should run on any platform supported by Rust, as this was written in Rust and does not have a GUI.

    Bryce has been able to compile this on macOS, Windows 10, Debian 13, Rocky Linux 8, and FreeBSD 15 (via files found here).

    However, the only officially supported platform is whatever Bryce uses in his daily life, which is currently Fedora.

  5. Why call this tool kurama?

    Bryce is a big fan of anime, and, growing up, one of the characters he liked was called Kurama.

    However, he cannot say why exactly he named it that way, aside from wanting easy name to remember.

    He is aware of other things named kurama, but none in regards to site generation or actively produced software.

  6. Does this generator support themes?

    No, it does not.

    While themes may seem like a nice idea, seeing as many other static site generators support them, just like Wordpress and a bunch of other CMS options, they all still boil down to HTML, CSS, and Javascript, and things can get rather complicated with how kurama's system works.

    However, if there is a theme available for any of the existing static site generator that uses the Jinja template engine, such as Hyde or Pelican, you should be able to get it working with minimal fuss, as the Tera templating system, which is used by kurama, is very similiar to Jinja.

  7. How much does this cost?

    Absolutely nothing.

    Bryce does not care about making money from this program, as he made it for himself.

    Plus, there is not much money to be made from CLI tools like this, considering they are a dime a dozen.

  8. What was the inspiration for this?

    Out of all the static site generators out there, two did things that he liked.

    First up is Hyde.

    While kurama is not a 1:1 translation of Hyde to Rust, the sites are structured pretty much like they are isted on Hyde's website, with the exception that the media folder is not in the same place as it is in Hyde and is called assets.

    And lastly is Jekyll, the very first static site generator Bryce ever used.

    Throughout Bryce's time looking at various static site generators, he noticed that is he had to largely change the way he specified page info, so that they would be recognized in a new system, regardless of it was small, like the difference between Jekyll and Hyde, or much larger.

    In this instance, he liked how Jekyll handled things, so he decided to have metadata specified in the same manner.

  9. Since this is an open source project, how can I help?

    You can contribute by forking forking the repository on Github and making a pull request.

    Contributed code is to be licensed under the MIT license for merging.

    The code currently requires a Rust compiler that supports the 2024 edition.

    You can also help Bryce by using the contact link or posting an issue on Github, but because he dabbles in programming as a hobby, he might not be able to fix everything.

  10. How often does this program see updates?

    As of right now, this program only see updates when there is something Bryce needs or wants, or if there are issues found.

    So far, with the exception of adding posts, feeds, and pagination, this program has only seen minor additions, like tag support and a slugify filter.

    He hopes to use this website as a means of being able to let people know about new versions, should they choose to use this program.

  11. This project has consisted of just a repository on Github for quite a while. Why create this site now?

    Aside from establishing a place where people can be notified of version updates, Bryce has realized that he had become lost in using this tool of his when he made a website for his financial tracking program and had to do a lot of research, since what he had provided in the README was not good enough.

    While the various resources for Jinja and Tera did help out, he wishes that he could have documented things more, and so decided to establish this website.