v_bogger is a blogging platform created using the V programming language and HTMX for additional interactivity. This software is currently in beta and a number of features are unsupported. See the roadmap below. Additional features will be added as time permits. Please see the releases page for the latest pre-compiled versions. Instructions for compiling this project are further on in this document. You can visit my instance of this blogging engine at blog.customcrypto.com
Currently Supported Features
- Light mode / dark mode
- In-app initial setup
- HTML Markup
- Create new posts
- Delete posts
- Submit comments
- Delete comments
- Administrator management
- Administrator password change
- Drafts
- Editing
- Backup and Restore (export and import)
- Image handling
- MFA
- Post search (see tsearch for trie tree search development)
- Auto-theme detection. No more retina burns on initial visit for the dark mode people.
Eventual features
- MFA Improvements
- QR Codes for MFA
- Update MFA method
- Other MFA options
- More convenient navigation
- Admin header links when logged in as admin
- Front page pagination or infinite scroll
- Additional responsiveness on long requests
- Login
- Uploads
- SEO improvements, no-JS support
- More templating, less dynamic load. $tmpl can replace where htmx was used for just HTML no-escaping
- Change config settings post initial setup
- Markdown support! Maybe?
- Install the V programming language. Make sure you symlink the V programming language to make it available on the PATH.
- Install the required depenencies.
v install sqliteandv install Meeds122.totp - Clone this github repository
git clone https://github.com/Meeds122/v_blogger.git - Move into the new directory
cd v_blogger - Compile with
v -prod -o v_blogger .This will take some time as production V compilation takes time. You can compile in dev mode usingv .which is much faster if you are just testing.v run .will compile and run the program in dev mode all at once. - Run the newly created v_blogger executable.
- Visit your new blog at http://localhost:8080
This app is not configured to be available on the internet. While I made some good decisions (I think!) regarding the security of the app, V's veb framework does not support TLS encryption which is a must on the modern web. Use a reverse proxy such as Apache, NGINX, Caddy, or Kamal to handle HTTPS translation. Certain higher-traffic sites may wish to move the /static .css and .js files to the reverse proxy or another host for better compression, caching, and performance. Eventually, I would like to make a docker image that includes the reverse proxy for easy production deployment, but that project is beyond today's beta version.
This application utilized AI in creating HTML and CSS mockups for the web pages.
This application was created both to serve my own needs for a blogging engine and to learn more about the V language and HTMX web programming.