Pollen: A publishing system written in Racket

(docs.racket-lang.org)

176 points | by nesarkvechnep2 天前

7 comments

  • aseipp2 天前
    Pollen is great. I wish it was more widely used. One of the only reasons I don't use it for most things is that adding the whole of Racket as a dependency comes across as a little much.

    One of my "one day..." projects is to try and reimplement a subset of Pollen using https://github.com/racket/zuo which I think would make it much easier to integrate as a much smaller dependency. But maybe the whole "ease of use" budget is blown by using a Lisp in the first place. :)

    In any case, if you've ever had to write a technical manual before (or some kind of heavy technical reference), I think you should give Pollen a try. It has much more general answers to a lot of problems you encounter when writing complex web documents. It is an interesting, useful, and pragmatic point in the design space, IMO.

    • harrisi2 天前
      I haven't used Racket much since the CS rewrite, but it's slimmer now, isn't it? I remember Racket feeling a bit chunky when I was using it more, years ago, but I thought part of the rewrite was to address that (among all the other benefits).
      • gus_massa1 天前
        You mean the speed, the installation size or the default editor?

        The default editor (DrRacket) has a lot of add-ins enabled by default and also support for graphics and debugging. It's possible to disable most of the extensions so it load faster and also disable debugging to make the programs run faster (in exchange of less helpful error messages).

      • ashton3142 天前
        There is a minimal Racket distribution which should be a lot lighter. CS has made the code base cleaner and Racket zippier.
  • ashton3142 天前
    Butterick is a sharp guy. I absolutely love one of the books he made with Pollen: Practical Typography http://practicaltypography.com/

    Pollen seems like a power tool; my needs are largely met by Scribble, but I’d like to get more comfortable with Pollen.

  • ergl1 天前
    I use Pollen for my personal webpage. I like using it, but it takes a bit to get going. The out-of-the-box experience with Pollen is more aimed at creating a single document, so expect to write a bit of plumbing in Racket to tie everything together (things like RSS feeds, footnotes, table of contents or a feed of recent posts).
  • wiz21c1 天前
    What's the difference between Pollen and Latex ? A quick read of the Pollen home page didn't told me so I aks here...
    • ergl1 天前
      Everything in Pollen is written in Racket, so in theory you could do much more advanced stuff inside your documents than with Latex. For example, you could have a ◊tweet{} element that, given an URL, would go and fetch that tweet and embed it inside your document using whatever quoting privimitives your presentation layer (HTML, Markdown, etc) allows you.

      You can also use Pollen to write Latex! Before Quad (https://docs.racket-lang.org/quad/), a quick way to get a PDF output of your Pollen document would be to output Latex from Pollen, then use the resulting document to generate your PDF.

    • wdkrnls1 天前
      Typesetting and typography are very different tasks as far as I can tell. Scheme typesetting of documents is best done with TeXmacs.
  • jhoechtl2 天前
    What is the difference between a publishing system and a type setting system? Am I able to output tables and what would he the syntax?
    • shakna2 天前
      For tables, Pollen supports both the Markdown table syntax, and straight-up HTML, which should fit the need easily enough.
  • lawn1 天前
    I used Pollen to write a book[0] and I generally liked the experience.

    I didn't use it to create the ebook or PDF though as you have to create everything from scratch that way. I forked the web version[1] to make it generate the epub and I laid out the physical book using InDesign.

    If I ever write a book again I'd probably start looking at alternatives that make the epub/PDF generation easier.

    [0]: https://www.jonashietala.se/blog/2020/05/03/how_i_wrote_my_b...

    [1]: https://www.jonashietala.se/blog/2024/02/17/how_i_did_the_la...

  • jtbayly2 天前
    I’m always looking out for digital book publishing systems. This article invites me to check out three books published using Pollen. It then asks two questions.

    > Are they better than the last digital books you encountered?

    Sadly, they aren’t. One lacks any navigation on the pages. The others have some navigation, but lack an accessible TOC on the page for context, something I have come to expect from digital books. Furthermore there is no way to search the contents of the book. This is a non-negotiable in my book. Pun intended. :)

    Also missing, is any other format, such as PDF and ePub, which is also a deal-breaker for me, as I want my books to work for as wide an audience as possible.

    > Would you like your next digital book to work like that?

    No thanks. But the design is nice. I hope the system keeps improving.

    • porker1 天前
      What is your preferred digital book publishing system?
    • 1 天前
      undefined
    • xigoi1 天前
      > Also missing, is any other format, such as PDF and ePub, which is also a deal-breaker for me, as I want my books to work for as wide an audience as possible.

      Isn’t ePub just zipped XHTML? And you can easily turn HTML into PDF by using the “print to PDF” feature.

      • soapdog1 天前
        EPUB has lots of nuances beyond the XHTML files. There's the structure of the folders, lots of XML files, how to name, link, and namespace things. It is not as straightforward and zipping a bunch of XHTML files.
      • pasc18781 天前
        Yes for epub - but not really for HTML to PDF, yes you can convert it but you do not get all the detailed niceties you get from say a LaTex to pdf transition, probably OK for a fiction or similar book but not a technical one.
      • jtbayly1 天前
        On the one hand, yes. On the other hand, my point is that I don’t want to have to lookup the spec and figure it out and then write my own script to take one of these books and make an epub.

        Or go through the process manually of printing 20 separate web pages and then merging them into one PDf and then figuring out how to create a table of contents at the beginning and a bibliography at the end with links that actually work.