Opuscule is out!

Get it here.

I’ve been working on this tool since a few months, without prior knowledge of Godot, except through RPG in a Box, an excellent Godot-based voxel game engine. And I have to thanks its developer, Justin Arnold, who helped me more than once and gave me valuable insights on Godot’s inner workings. Opuscule would be in a much more primitive state without him.

To be honest, I’m quite surprised I made it this far. Regarding programming, I’m just a self-taught hobbyist who has been struggling with basic logic for years. But it seems I’ve learned a few things along the way. In fact, I started this project because Godot’s VisualScript looked easy to learn and perfect for me. It wasn’t. I had a hard time understanding its most basic concepts, and its visual approach didn’t help the slightest. I found it quite confusing, but to be fair, it’s still very new, and lacks tutorials and documentation.

So I boldly decided to give a try to GDScript, Godot’s Python-inspired native language, thinking I’d fail even more miserably. Oddly enough, I found it way easier to grasp than VisualScript, and quickly managed to get something to work after a bit of trial and error. I wanted to create a simple note taking tool that would be able to switch between various files on the fly and autosave any change. I ended up developping exactly that, refined the concept a bit, and started to add various small features.

In case you’re wondering, yes, Godot is awesome. I drastically improved my coding skills since I’ve started to use it, thanks to GDScript, a neat IDE, and an actually useful debugger.

This is how, against all odds, my dead simple note taking tool idea became a multiplatform mini-website generator with Vim-like controls (I’ve never used Vim, by the way, so I probably should…)

Opuscule is still in alpha. There’s a lot more to come. It’s pretty stable, and I’ll do my best to avoid any breaking change, but keep in mind things may break. Don’t forget to backup your data folder, even if there’s already automated backups.

I’m developping this tool on my free time and share it for free. Don’t expect it to suit all your needs, it’s designed to suit mine. However, I intend to make it as easy to use and as useful as possible, so feel free to provide any feedback and suggestion. It may become open source in the future, but I have a lot more work to do before that.

Last but not least, here are two important URLs to bookmark:

Opuscule preview #02

I can’t believe I’m still working on this application instead of doing some actual game development. On the other hand, I’m now very close to release it to the public, and I’m quite happy with the result. I’ve been using Opuscule for my projects, and while there are features I can’t add (yet) because of my limited programming skills, I’ve managed to build something much more powerful and useful than what I initially envisioned.

Bugs aside, while it’s still far from being perfect, Opuscule works. I’ve added a lot of functionalities that fit well together, and the HTML export option has become a core feature, even if I had no idea how to code it when I started the project. Turns out all you need to output working HTML is to add a .html extension at the end of your file name… and that’s it. It doesn’t mean my output file is clean, it’s quite a horrendous bunch of hacks at the moment, but it’s valid HTML5.

HTML export with neon theme.

So you can now turn your notes into a single HTML document, which includes a dynamic table of content with links, and supports any kind of HTML markup you enter in your source text. Which means you can share your work pretty easily, offline or online. You can even build a whole website with several “books” linking to each other, if you want to.

For a more concrete example, have a look at the Opuscule homepage. It is generated, indeed, with Opuscule itself. I’m now toying with the idea of adding special pages to let users include their own CSS and JavaScript, a bit like Twine 2, so it would be fairly easy to customize HTML documents. I really need to clean up my CSS before adding this feature, though…

And that’s all for now. Contact me if you’d like to test an alpha version!

Opuscule preview #01

Lately I’ve spent a lot of time developing my own writing application. But why, would you ask, oh why, since there are already so many writing apps? Well, because none of them has been designed by myself.

I also wanted to give a try to Godot, the game engine used by RPG in a Box. While it’s indeed a game engine, it also has a very clean and friendly IDE, and a lot of built-in functions and features to manage UI elements, including a customizable text editor.

The core idea behind Opuscule is to break the usual vertical workflow of writing apps and use a fragmented approach instead. Each fragment can be a page of any size, so you’re free to use it as a short note or as a whole document. You can then cycle between fragments using keyboard shortcuts, and insert new ones wherever you need them.

Opuscule is currently in a very early stage, I still have many features to add and tweak before releasing a first version. I’m struggling with data structure and save/load functions, but I’m also learning a lot. Once I manage to reach a basic, stable version, I’ll get back to my game projects, and keep improving it along the way. I also have plans to rebuilt my time tracking app with Godot, or and possibly add time tracking and data visualization to Opuscule.