@jwildeboer Awesome, and thanks for sharing! It's exactly as you describe - build directory contains the complete website and can be uploaded by any means. The built-in deployment works via rsync (and it generally works) but wrapping rsync through GUIs is always a bit of an adventure haha, so that area will eventually need some serious technical redesign of some sort. :)
Fashionably late, here's my second¹ big announcement for 2025:
Did you see the «Hyper 8 Video System» (https://simonrepp.com/hyper8), a static site generator for *video* that I beta-released last May?
Last summer I applied for a https://netidee.at grant - an open source funding programme by the austrian Internet Foundation - to ensure further #hyper8 development, and to my great delight, the application was accepted!
Hence, all throughout 2025 I'll be able to work part-time on turning Hyper 8 from a pretty solid beta into a full-featured production tool!
The plan in a nutshell: Initially I'll work on critical features like subtitle support, RSS/Podcast integration, video embedding and built-in FTP deployment, midway I'll put additional focus on layout, accessibility and design, and in the grand finale Hyper 8 will be published as a proper desktop application – emphasis though that *right now* you can already use the Hyper 8 graphical user interface! The desktop application is just the missing glue to make this easier to access for everyone.
@benpate Adjacent question: Any particular reason you picked ogg as container (and I presume then, Vorbis as codec?) for the second streaming format? Or respectively, the root of my question is also: Why not Opus? (unless you're putting opus in an ogg container, i that case I'd be curious about the container choice! :))
@benpate I highly recommend Opus these days because it offers the best compression/quality ratio at pretty much all bitrates¹ ², and at the same time it's also supported in almost all browsers.
Exceptions are: IE (<0.5% market share) with no support at all, and Safari/iOS up to 17.3 (~4.5% market share) only supports opus in a CAF container, hence a fallback is required for these.
Faircamp currently provides streaming assets as Opus 96 kbit/s [-codec:a libopus -b:a 96k] with MP3 VBR V5 (120-150kbit/s) [-codec:a libmp3lame -qscale:a 5] as a fallback, respectively as Opus 48kbit/s [-codec:a libopus -b:a 48k] and MP3 VBR V7 (80-120kbit/s) [-codec:a libmp3lame -qscale:a 7] with the "frugal" option.
As the market share for iOS17.3 shrinks further I'll see if opus-only (in a WEBM container) is supported everywhere and go that road eventually.
I have two big announcements for 2025 - today's is all about #faircamp!
The response to the 1.0 release annoucement was incredible, way beyond what I had imagined, and I'm still glowing with excitement. (⌒‿⌒) Given this amazing response - for which I would like to say a huge thank you to all of you! - the @nlnet foundation has extended my current @NGIZero grant, meaning that there will be more big developments following in the wake of 1.0! To name two of them already: Podcast support and track-level metadata (such as lyrics, transcripts, cover art) are coming in the next months! \o/
And now, to add some icing to the cake, 2025's first Faircamp release – 1.1!
Introducing opt-in Open Graph metadata (with support from @berdandy), M3U playlists for artists, catalog-wide and artist-level tag rewrite options (thanks @mahlon for facilitating this), process exit codes for failure/success (thanks @audiodude for the suggestion), multiple essential fixes and improvements (thanks to contributions from @sunny and reports by @axwax and @samae), as well as the introduction of japanese translations (ありがとう @dev!) and updates to french, swedish and norwegian (thank you Élie, Filip and Matias!).
Hey Wien Bubble: Ich such eine kleine Wohung (~30-50m²) weil ich bis April umziehen muss. Falls jemand von euch was weiss/hört freu ich mich über Tipps! (˶′◡‵˶)
Development of version 1.0 was made possible through the amazing support, funding and expertise of the @NGIZero programme and coalition, led by the @nlnet foundation and financed by the European Commission's @EC_NGI initiative – thank you so much for giving me and everyone benefitting from a better Faircamp this incredible opportunity!
Also, many thanks to all faircampers, contributors, testers, translators, bloggers, podcasters and encouraging voices for supporting this journey - for the final 1.0 release specifically to @branpos for release candidate testing, @n00q for bugreporting/testing, @limebar for the external artist page feature inspiration and @Vac for their diligent translation work.
Along with this release I've published multiple new documentation resources - from an official Linux/macOS/Windows tutorial to a 1.0 migration guide, from an overhauled reference manual to a beginner's guide to publishing faircamp (or any!) static sites - check out the website and recent posts in the #faircamp hashtag to discover them!
What's new: All site layouts now fully adapt to RTL (right-to-left) languages, another dozen of accessibility improvements were added, the docked and embed players now make much better use of limited space, MP3 transcoding now writes more broadly supported ID3v2.3 tags (thanks @berdandy for the PR), a few font-related improvements were made (thanks @thurti for the contributions and @fennifith for a prior PR/research supporting this), russian translations were added (thanks @wileyfoxyx), italian and lithuanian translations updated (thanks @toctoc and @Vac) and a few bugs fixed!
As always, huge thanks to @nlnet and @EC_NGI for funding this work through an NGI0 grant - this time around especially also to Marc, my project supervisor, diligent reviewer and cultural advisor on RTL layouting.
One last thing: I've set up a newsletter where from now on I will also announce new faircamp releases! It's an experiment for now, but I think it might provide a nice way to stay updated without the/my social media noise. :) You can sign up here: https://simonrepp.com/newsletter/ (I did much research to find an ethical provider & settled on @keila, check 'em out!)
Did you know that faircamp sites can be used without javascript? That even unlock codes still work without javascript? ^^ Much has been added and changed in the last months, but during initial planning for the Faircamp 1.0 grant work both me and the @nlnet team were fully on board with the idea of dedicating a work package to making sure that during all the new developments, faircamp stays as usable as it can be without javascript, and this release now includes all the changes to make it happen!
And we have two important fixes included as well: "More" sections now make use of the full site width on smaller screens (thank you @lminiero for bringing this up!) and a piece of logic was added to ensure that support artists are registered for releases that have their main artists set either manually through the manifest or through the "Album Artist" tag on files (thank you @keefmarshall for digging up and reporting this long-undiscovered issue).
Many thanks again to @nlnet and the @EC_NGI for funding this important work. Keeping things working without js is not a glorious or particularly fun task, but important nontheless!
Good news everyone – Faircamp 0.20.0 is out, introducing a major new feature: Browse/Search! °˖✧◝(⁰▿⁰)◜✧˖°
Many, many other things happened as well: Direct external download links, M3U playlist opt-out option, "More" section redesign and conditional rendering, lithuanian and serbian (cyrillic+latin) translations, simplified payment configuration, fixes for RTL layouting/downloads/rounded corners mode, and well over 20 (!) major and minor accessibility improvements throughout all pages - in detail: https://codeberg.org/simonrepp/faircamp/src/branch/main/CHANGELOG.md
There's a great many people and institutions to thank this time around again: @nlnet and the @EC_NGI for making this work possible through the Faircamp 1.0 NGI0 grant / The diligent auditors at HAN Accessibility Lab and Radically Open Security for providing numerous excellent accessibility and security recommendations / @Vac and DURAD for the new lithuanian and serbian translations / @atomkarinca, @toctoc and @sknob for their continuous work on turkish, italian and french translations / And: Turnus for their amazing Valedictions EP featured in the release screenshots.
Faircamp 1.0 is now just weeks away and I'm super excited to see what else will still make it into the release! Maybe a new language? Check out https://simonrepp.com/faircamp/translate/ for that! :)
Today's edition - 0.17.0 - introduces configurable support for writing embedded cover images to download files (flac/mp3 [¹]), three first iterative refinements to the new layout that were high in demand - reduced spacing to bring release and track lists back up above the fold, demystification of the "..." navigation link and a simplified breadcrumb implementation right where it is required for navigation, plus a handful of fixes!
Special shout-out to @sknob for diligently keeping me up to date with all the latest ways in which Safari breaks my frontend implementations ^^ and everyone who provided great critical insights on the (re-)design process, that's @keefmarshall, @xenogon, @axwax, @ethicalrevolution and @branpos - thank you so much!
This release too is part of 2024's Faircamp 1.0 project grant, financed and supported by @nlnet and @EC_NGI. <3
P.S.: Those who update, make sure to check out "synopsis" in the manual (catalog/release pages) and give it a try! :)
[¹] I've done a good bit of research for all formats that faircamp outputs and found these two are the only ones for which this is supported through the format and through ffmpeg's featureset right now, but if you have insights to extend this to further formats, let me know!
@thanius Hey there! Sorry for the late reply - right now there's no such functionality but it's an interesting point! I've made a note of it in my feedback document, I'll give it some thought if and how this could be integrated. (It will take a while though, just so you know).
Media and systems with a focus on ethics, simplicity and sustainability. In 2024 working primarily on Faircamp and the Hyper 8 Video System (static site generators for audio and video producers). (he)