My Website
This website: made using Rust, Rocket, and Handlebars (and no javascript!).
- Published on .
- Last updated on .
- Source: https://codeberg.org/codingotaku/website
About
This is my personal website containing my blogs, projects, things I do, and ways to contact me. This website is written in Rust and Handlebars, partially supporting IndieWeb while keeping accessibility and minimalism in mind.
I have a long-term goal of being completely indie-web supported with other features like webmention, but I'm a bit pre-occupied to do it at the moment.
Can I use your blog?
Yes! But there are lots of hard-coded texts and references to my name and work in the repo, cleaning it up is a work in progress, so if you want to use my blog, please replace them with your details or remove them.
What changes should I make?
As I mentioned above, the project has too many references to my name and my work, so the following must be done.
-
Delete all files in the
templates/blogs
, andtemplates/projects
folders. -
Rewrite all
*.html.hbs
files in thetemplates
folder to refer your details - Remove all references to my name, you can keep the one on the footer or just reference my name somewhere in your blog to let people know where you got the website source from.
How do I build?
You need rust installed in the system, once you have it, do the following.- Clone this repository
-
Copy the
App.toml.example
file to a new file calledApp.toml
. - Update
App.toml
- Update
secret_key
with a secret key of your own, read the rocket configuration guide to know what it does and how to generate one. - If you have unifiedpush set up, update the
notify_url
with yournotification channel URL
to get notifications when your post gets webmentions. - Update the
[default.card]
section with your details (all are mandatory).
- Update
- Do what I told in the answer for the What changes should I make section above.
-
Once you have created new blogs and projects, add them to the JSON files in the
resources
directory (use the existing formats). -
Test your changes, do
cargo run watch -x
to launch your new website.
To build and run the project in the production, do the following:
cargo build --release
./target/release/website