-
byFigured it out. My handler wasn't running because I forgot to set the default app config in my __init__.py. One hotfix later and now we're cookin' with gas.
Webmentions working in prod! -
byShipped the new webmention display in Tanzawa π. There is one bug. When django-webmention registers a model, I have a signal listening to register my own TWebmention record to store parsed data, moderation data and so forth.
Testing locally it worked fine, but my test webmention didn't seem to register it. Here's what it's looking like in prod:Real life webmentions in Tanzawa! -
byRefactored the design of the webmentions this morning. I added the number of un-reviewed webmentions at the top and put them in a details/summary tag. The author name links to their homepage. Below that is a link to the webmention source displaying only the domain.
Reviews are handled via a big thumbs up or thumbs down on the far right. This bit isn't hooked up yet, but it will be soon enough. I also added a button to quickly take you to the new status page.Webmentions refactored
Next I need to add an api / view to handling the approval / disapproval click. And a menu item on the left to view all webmentions would be handy as well. -
byI started working on webmention displays for the dashboard in Tanzawa. Preview π:
The base webmention layout
Content is plain text and limited to 140 characters (after which it will truncate nicely). There's a link to review it on the left and the source of the webmention is also linked. The webmention kind is displayed on the bottom right if it can be determined.
Using the html5 <object> tag I can handle broken images or no author photo quite easily.ΒA broken author photo example
Come to think of it...these could be used as the base for displaying the interactions in a post as well... -
byThank you to Colin for replying and sending Tanzawa its first non-test webmention.Β
Today I fixed some layout bugs and started working on a home / dashboard screen for the publishing side of Tanzawa. For starters it's going to display just the last 5 posts / webmentions and a button to write a new status.
Currently each wbmention shows it's review status (π or π), source url, and a link to the django admin to review (or delete) it.Β Instead of the source url (as that's not super helpful) I plan to show who it's from, the kind of webmention, and a link to view it. Eventually I'd like to normalize this data into the database, so I don't need to parse html on each page load, but I'm still working on the table schema in my head.
Once I get the dashboard "working", I think it's time to expand to other post types. Articles would be easiest - as it's just a status with a title. It will also force me to normalize sidemenus and post listing logic. After that I'd like to support checkins via a micropub endpoint so I can get my swarm checkins from OwnYourSwarm. -
byI've got webmentions working with the great django-webmention library. I'm parsing mention's microformats using mf2py and mf2util. It's not too difficult.Β You can send a webmention and I'll receive it. They just won't show on the page. And that's because I'm not sure how I want them to display.
For example a "like" doesn't necessarily have an author name, just a url. Or even no author at all. How do I display these? Do I just not display them?Β What's the appropriate microformat html for this type?Β Rich content or plain content? What if the plain content is in markdown? And repeat for each different kind.
I wanted to add support for receiving webmentions, as that way I can see if someone's linking to the tanzawa development blog, but I'll I think I'll hold off on display until I've had a chance to think through the implementations more. -
by
I got my Mac back from repair and have promptly resumed working on Tanzawa. Today I shipped RSS feeds. Subscribe to the Tanzawa feed to follow development.
-
byToday IΒ merged RSS support (feed), properly microformatted statuses, and automatic plain text conversion of statuses. Next up is some basic site settings, so you can set things like site title / feed title and so forth.
-
byComputer is repaired and I'm making progress on Tanzawa again. Today I've got the statuses rendering as microformats and made an author page. Next up will adding RSS support for statuses.
-
byToday's feature is a non-user facing feature: allowing tanzawa to be configured using a .env file via django-environ. Beyond letting me keep production settings / paths / secret keys out of git or keeping a separate settings.py for production, it also let me enable secure session cookies. Secure cookies with some apache/nginx configuration allows the url generated when you upload an image use https instead of http, which keeps the padlock in your browser locked.