The neatnik calendar is very nice. Others are talking about enhancements they've done and I've done my own, creating a pretty faithful JavaScript implementation with enhancements:
Awesome! Totally love your version as my first gripe was that I can't adjust naming to fit my needs (localized, non-english). Your JS version is awesome, thanks!
CSS rules for printing is one of my favorite features of the web. You get a powerful typesetter directly in your browser. For those wondering how it's done, I wrote about it [0] recently for my friends who frequently asked how I generated PDFs for my blogs.
Thank you for the nice (and still short) article - I really liked it.
However, while these rules apply for web pages, I would like to... let's say warn all developers expecting CSS is a good option for accurate printing.
It may work for single page printouts or "make this page more printable" approaches, but don't expect it to be an easy opt out of providing PDFs for every single use case.
CSS for printing gets annoying pretty quick as soon as you have some more sophisticated requirements. You should probably also know that print-CSS is not fully cross browser compatible - there are quirks and caveats for every single one of them regarding font sizing, margin, padding and page-layouts.
I would not recommend to use HTML + CSS for something that really needs to be exactly the same layout in every browser.
Thanks for the feedback! Agreed, I too have experienced those quirks. This applies to most modern CSS features in general :-)
FWIW, I also have had also success with running a server-side headless chromium instance on an app where I was generating nicely formatted exam from provided questions.
OTOH, it's good enough that a webapp I vibe-coded in 5 minutes on the phone is better at typesetting and aligning label stickers than Microsoft Word. Or at least easier and gives correct results on the first try, vs. Word that gives me correct results approximately never; I've wasted close to person-day fighting with it over the year already.
Yeah we wanted something that would print with exact physical sizes and there's no reliable support for that so we ended up generating PDF with PDFium in WebAssembly.
> I also removed the background color so we save ink on actual printing.
It seems reasonable to also remove the #post-title border-top:1rem solid var(--accent-dark) for the same reason? That and the padding-top on the same element struck me as unnecessarily moving the printed content down the page.
Big fan for a very long time and still appreciate his work. His domain changed to follow his life choices.[1]
Later in life, I realize that too much reliance on tools is not something I’m fond of. DSri’s tools (printables) are good and I usually do it when I’m helping out team members, and others looking for guardrails for their productivity. For me now, the tools are too tool-focused and I no longer need them. I have printed and used them for product groups, and even a few times for my daughter’s projects with her friends.
These look great for people who like to plan their tasks. I found that when I plan my tasks and plan my day and plan my time bubbles, I spend so much time planning that I don't have time left for doing. This planner explicitly encourages having only three planned tasks for the day. What's wrong with just doing those tasks without writing them down?
I ask in full seriousness, as someone struggling decades with how to plan and then do personal and professional tasks. I ask as a question, not as a criticism.
Not OP but I used to be totally into productivity hacks and being on top of things, goal setting, habit tracking, everything.
I stopped when I realized I could just... Not, and still thrive in my life. Simplify my systems.
I set myself a goal to workout every morning. Sometimes I miss it because my infant daughter decides to wake up at 4am instead of 5am. I give myself grace.
We eat largely the same meals every day. Some cooked protein, some cooked veggies, and a grain (rice or pasta).
And I just have a regular routine at work where I work on work and also do explorative education for myself during breaks. Look into different frameworks, patterns, etc.
I didn't need to meticulously plan out every second of my day, month, year. I just needed systems that made things predictable. Sometimes I drop the ball and it's fine. I get back on the horse when I can.
I removed it with devtools, so surely there is a dozen of work-arounds, but, still, it just weird that a page that is supposed to show a calendar, doesn't show a calendar.
I typically imagine time as a line, so I wondered what it would look like if days were rects in one line, just word-wrapped. It doesn't auto-adjust to page size, but 75% zoom works fine for printing in my case.
Oooooh I like this a lot! I had Claude Code make me something in python quickly after I looked at the original post because I also prefer viewing time horizontally. I had mine do each month on a line. Sorry, didn't bother to host as a page. Here's the HTML/CSS though https://gist.github.com/bronco21016/d2d188c402b8e70c7bc115f4...
I like your layout a lot though so I might adapt that and there is still probably room to add the month label at the beginning of each month.
This is a really clever tool. I love the clean, one-page layout for tracking habits over a full year.
One suggestion: would it be possible to add a quarterly version? Like three months per page, or separate pages for each quarter? It'd be great for shorter-term goals without everything feeling so crammed on one sheet.
https://github.com/abetusk/neatocal
https://abetusk.github.io/neatocal/ (demo)
URL parameters can be used to alter behavior. Here's a highlight of some of them:
https://abetusk.github.io/neatocal/?layout=aligned-weekdays&... (weekend highlighted, aligned)
https://abetusk.github.io/neatocal/?start_month=7 (academic)
https://abetusk.github.io/neatocal/?start_month=6&n_month=6 (second half, 6 month)
https://abetusk.github.io/neatocal/?month_code=1%E6%9C%88,2%... (chinese month and day)
There's also a data file option for more complex date notes.
If you want something for your examples, this would be the German-localized version for 2026: https://abetusk.github.io/neatocal/?year=2026&weekday_code=S...
[0] https://github.com/abetusk/neatocal?tab=readme-ov-file#prese...
naja
Check out my Turkish Holidays example for 2026: https://c6p.github.io/neatocal/?data=example/tr-2026.json
https://abetusk.github.io/neatocal/?year=2026&start_month=0&...
https://abetusk.github.io/neatocal/?year=2026&start_month=6&...
[0] https://barish.me/blog/make-your-website-printable-with-css/
However, while these rules apply for web pages, I would like to... let's say warn all developers expecting CSS is a good option for accurate printing.
It may work for single page printouts or "make this page more printable" approaches, but don't expect it to be an easy opt out of providing PDFs for every single use case.
CSS for printing gets annoying pretty quick as soon as you have some more sophisticated requirements. You should probably also know that print-CSS is not fully cross browser compatible - there are quirks and caveats for every single one of them regarding font sizing, margin, padding and page-layouts.
I would not recommend to use HTML + CSS for something that really needs to be exactly the same layout in every browser.
FWIW, I also have had also success with running a server-side headless chromium instance on an app where I was generating nicely formatted exam from provided questions.
1. https://github.com/BafS/Gutenberg
https://voussoir.net/writing/css_for_printing
> I also removed the background color so we save ink on actual printing.
It seems reasonable to also remove the #post-title border-top:1rem solid var(--accent-dark) for the same reason? That and the padding-top on the same element struck me as unnecessarily moving the printed content down the page.
I have since fallen off the productivity wagon unfortunately.
For many years past I have printed and used stacks of the Emergent Task Planner.
He has a Compact Calendar that has somewhat similar layout as OP.
Edit to add link:
https://davidseah.com/node/compact-calendar/
The website domain seems to have changed a bit.
Later in life, I realize that too much reliance on tools is not something I’m fond of. DSri’s tools (printables) are good and I usually do it when I’m helping out team members, and others looking for guardrails for their productivity. For me now, the tools are too tool-focused and I no longer need them. I have printed and used them for product groups, and even a few times for my daughter’s projects with her friends.
1. https://dsriseah.com/about/sri/
I ask in full seriousness, as someone struggling decades with how to plan and then do personal and professional tasks. I ask as a question, not as a criticism.
If you don't mind sharing, what was the reason? I'm asking coz these things and also note taking isn't sustainable for me at all.
I stopped when I realized I could just... Not, and still thrive in my life. Simplify my systems.
I set myself a goal to workout every morning. Sometimes I miss it because my infant daughter decides to wake up at 4am instead of 5am. I give myself grace.
We eat largely the same meals every day. Some cooked protein, some cooked veggies, and a grain (rice or pasta).
And I just have a regular routine at work where I work on work and also do explorative education for myself during breaks. Look into different frameworks, patterns, etc.
I didn't need to meticulously plan out every second of my day, month, year. I just needed systems that made things predictable. Sometimes I drop the ball and it's fine. I get back on the horse when I can.
The year is split in two (ample space for notes) and it has week numbers. At work I print the year on two A3.
I typically imagine time as a line, so I wondered what it would look like if days were rects in one line, just word-wrapped. It doesn't auto-adjust to page size, but 75% zoom works fine for printing in my case.
https://igormartynov.com/calendar2026.html
Note that you can align the weeks (or not) by adjusting the width at print time.
I like your layout a lot though so I might adapt that and there is still probably room to add the month label at the beginning of each month.
One suggestion: would it be possible to add a quarterly version? Like three months per page, or separate pages for each quarter? It'd be great for shorter-term goals without everything feeling so crammed on one sheet.
Thanks for making and sharing this!
Should be able to one shot that in Gemini, ChatGPT or Claude
https://abetusk.github.io/neatocal/?layout=hallon-almanackan