Yup, I'm crazy!
Rather than create a blank journal for the year, you can use the Journal plug-in and create the journal page for the day with it as you go. This will create a notebook for the year, and monthly sub notebooks for the daily entries as you create them. By the end of the year, you will have a complete annual journal.
The only downside is for those of you who would like to put appointments and events in future dated pages, as you would in a yearly printed diary.
However, if you are doing this stuff digitally, you are probably already using a calendar app which is ideal for that usage case. You could also cover it by raising Joplin To-dos if you don't use a calendar app.
If you are using Joplin To-dos, I would recommend also installing the Agenda plug-in which will give you visibility of those To-dos as they come due. It is also handy for seeing the recurring to-dos.
So, in conclusion, I have automated the process of creating daily journal pages on my MacBook, using an Apple Script app. This runs when I log in to my machine in the morning. It opens Joplin, creates a new daily page, and inserts my default template, without me having to lift a finger.
The problems to resolve when using this approach are other apps that run on start up that throw up dialog boxes requiring user interaction, configuring the app version of the script to start on log-in, and setting up the privacy and security settings on the Mac so that simulated keystrokes are allowed for the script.
Here is the Apple script:
-- Allow 1 minute for machine to start up apps on logon
with timeout of 200 seconds -- or any other value
delay 60
-- Now open Joplin app
tell application "Joplin"
activate
end tell
-- Now wait for 1 minute so Joplin can finish syncing on startup
delay 60
-- Now execute the create journal command
tell application "System Events"
keystroke "D" using {command down, option down, shift down}
-- Wait for app to complete the command
delay 5
-- Now execute the Insert Template command
keystroke "I" using {option down, control down, shift down}
-- Wait for app to complete the command
delay 5
end tell
-- Now execute the dialog box commands to simulate clicking on the OK button.
-- There is a delay of 1 second between each keystroke to allow app to execute it.
tell application "System Events"
keystroke tab
delay 1
keystroke return
delay 1
keystroke return
delay 1
-- and finally, get Joplin to sync the changes
keystroke "s" using {command down}
end tell
end timeout