Skip to content

Conversation

@robbielyman
Copy link

@robbielyman robbielyman commented Jun 18, 2025

Since the post's content field is already populated with the contents of a summary tag (as far as I can see), this commit hooks that data into the message posted to Zulip.

i'd love guidance on how to test my changes! i was able to build the docker image, but running it appears to just drop me into a Python REPL.

  • Test
  • Screenshot
  • CHANGES.md entry
  • Documentation

Since the post's `content` field is already populated with the contents
of a `summary` tag (as far as I can see), this commit hooks that data
into the message posted to Zulip.
also, remove the dependency on `textwrap`.

adds a usage description of the feature to the README
and an entry to CHANGES.md
@robbielyman
Copy link
Author

just wanted to re-up the ask for suggestions on how to test this change :)

@sursh
Copy link
Member

sursh commented Jun 20, 2025

Nice!

Re: testing, have you checked out the directions linked from the README yet? I don’t know if they’re up to date, but seems like a good place to start

@robbielyman
Copy link
Author

i'm a little stuck on the dev directions (notably Docker and Postgres are both new to me, so probably the error is small but tough for me to see). i've installed Postgres.app and been able to create a database and a user with CREATEDB powers, but when i run docker-compose up the db process fails to start with an error saying the "postgres" user's password authentication failed.

@robbielyman
Copy link
Author

I was able to test this, thanks to @jdkaplan :). I think he'll PR the dev environment fix that got me unblocked.

There's a problem: post.content is formatted as HTML, but Zulip sanitizes HTML content and renders only Markdown. I'm not sure if this is easily solvable without literally decompiling the HTML into Markdown, which seems a bit out of scope.

For example, I added Maddie's blog and this is the message that my local version of Blaggregator produced:

Sending message "Robbie Lyman has a new blog post: Covers as a way of learning music and code

<p>When you're just getting started with music, you have so many skills to learn.
You have to be able to play your instrument and express yourself through it.
You need to know the style you're playing, and its idioms and conventions.
You may want to record your music, and need all the skills that come along with it.</p>
<p>Music is, mostly, subjective: there's not an objective right or wrong way to do things.
And that can make it really hard!
Each of these skills is then c...

" to bot-test (stream)

@jdkaplan jdkaplan mentioned this pull request Jul 30, 2025
4 tasks
@sursh
Copy link
Member

sursh commented Jul 31, 2025

idea: maybe an easier place to intervene is at crawl time? see feedergrabber27.py. I'm thinking that we're already parsing HTML there, so it may be an easier lift to just parse it a little differently.

Since this change would only affect new entries (and I don't think that post.content is used anywhere else at all, but you should fact-check that) then there's no need to handle retroactive entries, only new ones.

(this idea is based on 5 min of flipping through the codebase and my dusty memories of my initial work on the project, but I haven't been closely following changes since, nor have I set it up to run locally, so please vet the idea before using it!)

Use markdownify in feedergrabber27.py to convert HTML summaries to
markdown ones.
@robbielyman
Copy link
Author

thanks for the suggestion @sursh! I think that got me in the right direction; here's a new test with Maddie's blog:

Robbie Lyman has a new blog post: Covers as a way of learning music and code

When you're just getting started with music, you have so many skills to learn.
You have to be able to play your instrument and express yourself through it.
You need to know the style you're playing, and its idioms and conventions.
You may want to record your music, and need all the skills that come along with it.

Music is, mostly, subjective: there's not an objective right or wrong way to do things.
And that can make it really hard!
Each of these skills is then couched in...

and

Robbie Lyman has a new blog post: That boolean should probably be something else

One of the first types we learn about is the boolean.
It's pretty natural to use, because boolean logic underpins much of modern computing.
And yet, it's one of the types we should probably be using a lot less of.
In almost every single instance when you use a boolean, it should be something else.

The trick is figuring out *what* "something else" is.
Doing this is worth the effort.
It tells you a lot about your system, and it will improve your design (even if you end up u...

both of these seem much better equipped to be Zulip messages :)

@robbielyman robbielyman requested a review from sursh August 19, 2025 23:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants