TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Show HN: ReCalendar – custom calendar generator for ReMarkable and e-ink tablets

16 点作者 klimeryk超过 3 年前

4 条评论

fudged71超过 3 年前
I don't have a ReMarkable, but the way you have used links in the PDF to make it fully interactive is really neat, I can see how useful this would be. Maybe add some screenshots to the main site page?
评论 #29878076 未加载
ativzzz超过 3 年前
This is awesome. Works great on my RM2, it&#x27;s actually exactly what I was looking for. Great work!<p>The only downside I see so far is not being able to make changes to the PDF while also keeping existing writing. Not sure that&#x27;s even plausible with a PDF but I may want to change the habit list&#x2F;special dates throughout the year and keep all of the things I&#x27;ve written in there so far.
评论 #29882259 未加载
klimeryk超过 3 年前
Hi, author here! I&#x27;m excited to share a project I created to scratch my itch: a generator of a PDF calendar for ReMarkable tablets (and possibly other e-ink devices). It&#x27;s pretty niche, but I&#x27;m really happy how it turned out.<p>It started as a PHP script [1] to quickly verify the idea. I got lots of great feedback on it [2], plus I used it for a few months myself. But I&#x27;ve hit a few technical walls with the (otherwise very competent) PDF framework I chose [3]. Most notably, it only supported a subset of CSS and layout was done using tables (hello, 2000s!). This led to a growing list of pain-points (links did not span the whole cell, not easy to re-order elements, etc.). I also kept thinking on how to make this project more approachable - without needing to install and know a bit of PHP. However, since it was a PHP script, that meant PDF generation on the backend. Which meant abuse protection, beefy server, etc.<p>So I rewrote the project from scratch [4], this time in JavaScript. Using react-pdf, I was able to move PDF generation entirely to client-side. It internally uses Yoga Layout, which means flexbox, finally! (subset, but still) React allowed me to extract and re-use components better. Internationalization was smooth as well. Web workers ensure the browser does not lock up (unless you&#x27;re generating the full PDF in Firefox, for some reason...). Everything runs in client-side, no data is transferred to any servers. Privacy FTW!<p>There&#x27;s many features available [5], but one I wanted to highlight here is how I&#x27;ve achieved sharing and preserving configuration (so that you can share it with friends or regenerate the calendar next year). Since I wanted to avoid storing any information on my or (even worse) third-party servers, the options were limited. Stuffing the data into the URL was probably possible. But it&#x27;s unclear what are the safe limits of URL length. Plus, you can easily lose the URL. Downloading the data (a JSON file? Copy &amp; paste?) was also clunky - how to explain to users what this file is? It can also be easily misplaced. Then I realized - PDF files can have embedded file attachments :) So I&#x27;m saving the configuration file inside the generated PDF calendar. So if you ever want to reload the same settings (they are backwards compatible), you just upload the same PDF file (of course, PDF parsing happens on the client-side only as well). It&#x27;s much safer approach and more intuitive - you will always have your PDF calendar file :)<p>In case you give my server the hug of death, the app is also available on GitHub Pages: <a href="https:&#x2F;&#x2F;recalendar.klimer.eu&#x2F;" rel="nofollow">https:&#x2F;&#x2F;recalendar.klimer.eu&#x2F;</a><p>While the current version is tested only on ReMarkable tablets, it should be fairly easy to add support for other devices. Please open a new issue on GitHub, ideally with the specification of the device (screen size in pixels or mm).<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;klimeryk&#x2F;recalendar&#x2F;" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;klimeryk&#x2F;recalendar&#x2F;</a><p>[2] <a href="https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;RemarkableTablet&#x2F;comments&#x2F;odpl07&#x2F;recalendar_opensource_highly_customizable&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;RemarkableTablet&#x2F;comments&#x2F;odpl07&#x2F;re...</a><p>[3] <a href="https:&#x2F;&#x2F;mpdf.github.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;mpdf.github.io&#x2F;</a><p>[4] <a href="https:&#x2F;&#x2F;github.com&#x2F;klimeryk&#x2F;recalendar.js&#x2F;" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;klimeryk&#x2F;recalendar.js&#x2F;</a><p>[5] <a href="https:&#x2F;&#x2F;recalendar.me&#x2F;features" rel="nofollow">https:&#x2F;&#x2F;recalendar.me&#x2F;features</a>
评论 #29878968 未加载
kimusan超过 3 年前
Love the product - even for printing it is very nice.