Thanks to everyone who joined live!

The code written today is available on GitHub https://github.com/clarkwinkelmann/flarum-pages-generator but it's not completely ready yet so I didn't include the dist files and didn't tag any version. The "public API" of the extender will probably change in the weeks to come when I add the translation-related options.

There's also a pretty important issue that I haven't mentioned in the livestream, the extender currently cannot be called more than once! If it's called multiple times there will be errors, but that's not an issue when you define a single folder. But we'll address this in a future update.

During the stream we wondered if we had reached a new achievement with the first ever dislike. Turns out it's not the first dislike, it's the third, but it's the first since 2019. It might also be the first dislike made live and not in the stream repay. What an achievement 😁 Feedback always welcome!

6 days later
7 days later

Join me on Sunday at 14:00 UTC, 16:00 CET for a new live stream!

We will create two extensions that are extremely simple, have been regularly requested but that nobody created so far: email and username whitelists.

We will start with the email extension and then re-use most of the logic for the username extension. The email extension will be domain whitelist by default, with optional blacklist and regex. The username extension will probably be fulltext blacklist by default, with optional regex and whitelist.

https://youtu.be/-0_L8jspLD8

I'm live! Join me during the next 2 hours to talk Flarum extension development!

6 days later

Join me on Sunday at 14:00 UTC, 16:00 CET for a new live stream!

We will make a few "easy" changes to the forum based on recent requests on the forums. These won't be released as extensions, but I will show you how you can make a local extension to include them on your forum.

https://youtu.be/wE5BqjALvo4

    13 days later

    Join me on Sunday at 14:00 UTC, 16:00 CET for a new live stream!

    We will continue work on Flamarkt. It's getting closer and closer to minimum viable product but there are still some big missing features. We will probably work on the email and notifications, and I think I will implement some kind of server-side Mithril rendering to generate HTML emails because a lot of content needs to be re-used between the frontend and the emails and it's going to be an extensibility nightmare if everything needs to be extended twice in two different programming languages by each extension.

    https://youtu.be/gi9gkoCIYi0

    6 days later

    clarkwinkelmann

    Great tutorials. Something I noticed when recreating the "hide secondary tags" solution. I don't know if it's naming problem but it doesn't work if webpack loads the extension before the Tags extension..

    In this case
    Object.keys(items.items)

    will contain only 1 item

    And the useExtensions: ['flarum-tags'] method doesn't seem to work either..

    Is there a way to ensure that the extension is loaded after the tags extension?

      jago yes the order the extensions were enabled will affect this.

      You should be able to solve it with required or optional dependencies https://docs.flarum.org/extend/extending-extensions.html

      I think I mention this at the end of the stream but didn't actually implement it.

      Another option would be to add negative priority to the javascript initializer so that it runs after Tag's initializer which probably has priority 0.

      Oh I've actually done that but afterwards and then forgot to do composer update on the forum

      Everything works now thanks...

      7 days later

      Join me on Sunday at 14:00 UTC, 16:00 CET for a new live stream!

      We will work on a new design for builtwithflarum.com.

      Right now it's just a secondary page of my Lab which is a Laravel app, but I have prepared a new Flarum-based backend for builtwithflarum, and tomorrow I'll work on the frontend, which is a good opportunity to discuss some Flarum theming aspects.

      https://youtu.be/oJjCzTmWjIo

      clarkwinkelmann Very well done. I like the new showcase so far. I’d go with 7 seconds. No, I’m kidding. 5 seconds should be fine for most sites unless they are having major issues.

        010101 thanks! I'm trying to find whether I can somehow time how long each website takes to render while I'm talking the screenshot, that way I could have actual data. I don't mind the process taking longer, but I'd love to exploit that unproductive server time to at least produce a few interesting numbers.

        I've kept it at 5 seconds for now, all websites seem to render. Now I have issues with the websites that have enabled Cloudflare advanced protection and I have a screenshot of a captcha ahah.

        I'm hoping to publish it soon ™️ At least it should be sooner than my other projects because this one is actually kind of simple.

        a month later

        Join me on Sunday at 14:00 UTC, 16:00 CET for a new live stream!

        We will implement this suggestion about offtopic posts by creating a system for collapsible posts. This will allow grouping a series of posts into a single "expand" button, along with a customizable reason.

        If there's time I also want to implement one automated option which collapses posts with a similar content, but it will probably just start with an exact match since I'm not actually sure how I can implement similar content detection 😂

        https://youtu.be/NxEh_i9StZQ