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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Show HN: Leaflet.pub – a web app for creating and sharing rich documents

170 点作者 jpereira3 个月前
Hi HN!<p>For the last 8 months we&#x27;ve been working on leaflet.pub, a web app for making delightful documents. We&#x27;re trying to strike a balance between Notion and Google Docs — very fast, ultralight and easy to share, but also supporting rich blocks and multiple pages.<p>Weirdly, none of the many notetaking&#x2F;document apps that we could find hit this combination, so we made Leaflet. With it you can:<p>- Instantly create a doc, without an account - Share read and edit links - Sign-in with email to sync your docs to different devices - Add rich blocks, like canvases, subpages, rsvps, and polls<p>It&#x27;s really useful for one-off collaborations, running events, or just when you need a blank page without having to buy into a whole organizational system.<p>We also spent a lot of time making sure Leaflets look good. We&#x27;ve found that there&#x27;s a pretty blurry boundary between a document and a website, so making something that people can feel proud to publish online was key.<p>Here&#x27;s a couple examples!<p>- Jake&#x27;s presentation on Slöjd, traditional handcraft pedagogy (<a href="https:&#x2F;&#x2F;leaflet.pub&#x2F;3d28b4a7-3703-4ae5-aaf6-d270ffe1151f" rel="nofollow">https:&#x2F;&#x2F;leaflet.pub&#x2F;3d28b4a7-3703-4ae5-aaf6-d270ffe1151f</a>) - Laura&#x27;s documentation of her website redesign (<a href="https:&#x2F;&#x2F;leaflet.pub&#x2F;14aba696-e894-440a-9d06-917641a2bfce" rel="nofollow">https:&#x2F;&#x2F;leaflet.pub&#x2F;14aba696-e894-440a-9d06-917641a2bfce</a>)<p>Some technical details that might be interesting:<p>- We do sync and all our client-side state via Replicache, which I really love! - Data is modeled as a set of facts about entities, a la Datomic, forming a graph. This has been flexible enough for us to quickly build new features, like canvases and nested pages, without committing to a single document structure. - We use ProseMirror, but not for the entire document. Instead every text block is a separate ProseMirror instance. This lets us keep the document structure in our database and our schema, without having to dive into ProseMirror&#x27;s every time we want to modify things.<p>Our (somewhat messy) source is available here: <a href="https:&#x2F;&#x2F;github.com&#x2F;hyperlink-academy&#x2F;leaflet">https:&#x2F;&#x2F;github.com&#x2F;hyperlink-academy&#x2F;leaflet</a> if you want to dig deeper!<p>On the horizon:<p>- Better home and document organizing features — things like search, tagging, collections etc. - We&#x27;re really excited about ATProto and Bluesky and are working on a set of lexicons and an AppView for document publishing! This will include a lexicon for rich text documents, as well as one publications, and some concept of memberships or subscriptions. - More blocks! Tables, code blocks, etc.<p>Some things we&#x27;re particularly proud of:<p>- Our list handling - Custom theming - Keyboard handling on iOS Safari (and generally works excellently on mobile) - Side-scrolling multi-page interface - Works as a PWA!<p>Some things that still need work:<p>- While faster than others, still a lot of work we can do on performance, both speed when working with very large documents and loading docs generally - Drag and drop and selection in general could be a lot nicer - Keyboard navigation across multiple pages - Multiplayer cursors, and generally real-time sync could be sped up greatly leveraging CRDTs (we already use YJS, just could move updates around faster)<p>You can create a new document just by visiting <a href="https:&#x2F;&#x2F;leaflet.pub" rel="nofollow">https:&#x2F;&#x2F;leaflet.pub</a> (or <a href="https:&#x2F;&#x2F;leaflet.pub&#x2F;new" rel="nofollow">https:&#x2F;&#x2F;leaflet.pub&#x2F;new</a> if you&#x27;re signed in) — would love to hear your thoughts and any feedback if you give it a try!

29 条评论

jofer3 个月前
Just as an FYI: &quot;leaflet&quot; is the name of a popular web mapping JS library. <a href="https:&#x2F;&#x2F;leafletjs.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;leafletjs.com&#x2F;</a><p>May or may not be relevant for you (and is definitely a very different field&#x2F;product), but if you&#x27;re releasing client libraries&#x2F;SDKs of any sort, it might be good to be aware of. There&#x27;s a large ecosystem of plugin libraries named &quot;leaflet-foo&quot; or &quot;foo-leaflet&quot; etc in addition to the &quot;main&quot; one. If you start releasing any libraries to work with your app (even if they&#x27;re not JS), you&#x27;ll likely want to be aware of and work around naming collisions for library names.<p>Either way, looks nifty!! I love the approach and we need more people willing to do something like this that competes with google docs &#x2F; etc, but does so by targeting a specific use case &#x2F; niche &#x2F; etc and not by trying to do everything.
评论 #43276999 未加载
评论 #43275555 未加载
评论 #43281274 未加载
评论 #43275652 未加载
评论 #43278566 未加载
gazook893 个月前
It&#x27;d be great to get code blocks and inline code blocks. Ideally using Markdown syntax. And, if possible to get syntax highlighting, that&#x27;d be even better.<p>But otherwise, this pretty well lines up with an idea that I had just been mulling over in the last 2 days. Which is pretty eery, but well timed. Realistically I wasn&#x27;t ever going to do it, so I&#x27;m glad I may not have to miss out.
评论 #43281900 未加载
nsriv3 个月前
Still playing around with it but I have to say, I absolutely <i>adore</i> the side-scrolling feature!
评论 #43273442 未加载
评论 #43273986 未加载
评论 #43278215 未加载
ChrisArchitect3 个月前
The Make with Leaflet page is good dive into some possibilities <a href="https:&#x2F;&#x2F;make.leaflet.pub&#x2F;" rel="nofollow">https:&#x2F;&#x2F;make.leaflet.pub&#x2F;</a>
评论 #43281799 未加载
amendegree3 个月前
I see its source available, which implies you’re planning on monetizing somehow, do you mind sharing any insight into what that would look like?<p>I’m always weary of getting involved in a new tool only for the rug pull to happen later.
评论 #43274513 未加载
deanebarker3 个月前
I do love it when someone does an original take on what a &quot;document&quot; means. I love the intellectual exploration of it. Kudos, genuinely.
评论 #43282650 未加载
breadchris3 个月前
I love this a lot. I have spent a great deal of time considering digital document writing. The hybrid of document and canvas is a must and is commonly found in PKMs now (obsidian, logseq, affine). Collaboration features are also a must imo, but not often found due to it being difficult to implement and scale.<p>Looking forward to tracking this project! Is there a community one could join to get updates?
评论 #43281688 未加载
layer83 个月前
Some feedback:<p>– When tapping on the leaflet icon in the bottom left, the whole text area is erased (Safari on iPad).<p>– The strikethrough icon is a bit hard to recognize, because the stroke merges with the S line. Some text editors use a different letter for that reason, for example a T, and add a small gap along both sides of the stroke to emphasize the overlay (only on the icon, not on the actual text being edited).<p>– Making the strikethrough line lighter than the text color is a bit unconventional, I’m not sure it helps readability. In the default text size, the line is easy to overlook, also because it is pretty thin (on a hi-DPI display). This is particularly the case on bold and&#x2F;or italic text.<p>– No dark mode support, it seems.
评论 #43275808 未加载
holistio3 个月前
Kudos for the multiple ProseMirror instances. I&#x27;m building with ProseMirror myself and that&#x27;s some nice wizardry I haven&#x27;t thought of.
cetra33 个月前
I can&#x27;t seem to scroll horizontally very easily, like I have to middle click drag in empty space, is there any reason you are hiding scrollbars?
评论 #43281950 未加载
sabellito3 个月前
That&#x27;s very impressive, super slick. The subpage preview on the parent page works so well I went digging into the source code.
评论 #43277192 未加载
sno63 个月前
Guys, this is super cool. As someone building a canvas product that also has a (prosemirror) notepad I am super inspired by this. The way you can flick from a canvas on the notepad, back to the notepad, and it doesn&#x27;t feel like you&#x27;re locked in to any block because you can still slightly see where you came from.. love it.<p>All the best!
dirkc3 个月前
Nice, I really like it. The embedded elements like POSTS and RSVPs creates a nice shared space feel to it.<p>Also interesting to see that you chose WhatsApp for the RSVP element. Did you use Twilio for the integration and what was the level of effort needed?
评论 #43281749 未加载
crossroadsguy3 个月前
Is it supposed to be a permanent published document? I couldn&#x27;t find a delete&#x2F;unpublish option. I guess retaining the first randomly generated URL can be used to delete the content, but still there is no clear way to delete, unpublish.
评论 #43281863 未加载
jslakro3 个月前
It seems an advanced version of <a href="https:&#x2F;&#x2F;txt.fyi" rel="nofollow">https:&#x2F;&#x2F;txt.fyi</a>. The balance between simplicity and experience is great. I hope you can continue with the project
rafram3 个月前
The appearance (both the text font and the UI chrome icons and colors) really is not to my liking. I see that you can already change the foreground and background color of your document. Any plans to add more options?
评论 #43274539 未加载
jayloofah3 个月前
Are the documents encrypted? Is privacy a focus? One major reason that people want to move away from Google Docs and Notion is because of their very invasive privacy policies.
评论 #43273942 未加载
zekenie3 个月前
I really love the ui exploration!<p>I wish canvases had edges connecting nodes
评论 #43281781 未加载
pjzh3 个月前
This website is fantastic! I love the layout!
croisillon3 个月前
i thought it would be some kind of competitor to canva but not at all, the product is interesting and original, i&#x27;ll definitely follow it!<p>my only nitpick at this moment: i like to see my scrollbars on a desktop
simmo90003 个月前
Well done. Intuitive and simple like this sort of tool should be.
android5213 个月前
it is using Replicache which requires license key. is there a plan to use an alternative that doesn&#x27;t require license key?
评论 #43290301 未加载
gr4vityWall3 个月前
I like how it looks :)<p>Is there a tutorial for how to self-host it?
评论 #43281960 未加载
pwillia73 个月前
This is really great -- Thanks for making it.
pazimzadeh3 个月前
I like the icons.<p>Can you edit a button after adding it?
评论 #43276853 未加载
klntsky3 个月前
This is what notion should have been.
ftr12003 个月前
This is fantastic. Good job. Makes you realise how much clutter is out there (SaaS nonsense, ads, paywalls, bullshit).<p>Loading the landing page was a breathe of fresh air. Thank you.
pokpokpok3 个月前
very beautiful and I appreciate how well everything works without logging in
kaizenb3 个月前
Very nice work!