- Handlebars 71%
- Rust 24.5%
- CSS 2.8%
- XSLT 0.8%
- Shell 0.8%
- Other 0.1%
Website
This project has been abandoned in favour of Ownet/indie-wemblate - which is a comple re-write of this project with more features!
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. You are free to clone this repository and use it as you wish, as long as you abide by the license.
Validators
| Type | Validaton Check |
|---|---|
| CSS | https://jigsaw.w3.org/css-validator/images/vcss-blue.png |
| Blog Atom Feed | https://validator.w3.org/feed/images/valid-atom.png |
| Projects Atom Feed | https://validator.w3.org/feed/images/valid-atom.png |
| Stories Atom Feed | https://validator.w3.org/feed/images/valid-atom.png |
What it supports
This website partially supports IndeiWeb with indie-auth, h-entry, and h-card supports built in. So it should be fairly easy to crawl my website using microformat tools!
To see everything this project support related to IndieWeb, have a look at am-i-indieweb-yet page. 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.
FAQ
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.
How do I build?
You need rust installed in the system, once you have it, do the following.
- Clone this repository
- Run
setup.sh- this will just add a pre-commit hook to update last modified date of the posts. -
Copy the
App.toml.examplefile to a new file calledApp.toml- Update
secret_keywith a secret key of your own, read the rocket configuration guide to know what it does and how to generate one. - If you have a unifiedpush server setup, update the
notify_urlwith yournotification channel urlto 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 [What changes should you make](#what-changes-should-you-make)?
- Once you have created new blogs and projects, add them to the JSON files in the
resourcesdirectory (use the existing formats). - Test your changes, do
cargo runto launch your new website.
To build and run the project in the production, do -
cargo build --release # generate production binary
./target/release/website # run the binary
What changes should you 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/projectsfolders (take a copy of one of the files if you need reference). - Rewrite all
*.html.hbsfiles in thetemplatesfolder to refer your details, 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. - Update
src/utils.rsto match your details (I know, this should be in a config file instead). - Update the
JSONfiles in theresourcesfolder. - Remove any other references to "Coding Otaku" and "Rahul" that you can find, I might have missed something.
LICENSE
Copyright (C) 2021-2030 Coding Otaku (Rahul Sivananda) <contact@codingotaku.com>
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.