Giter Site home page Giter Site logo

binaergewitter / serious-bg Goto Github PK

View Code? Open in Web Editor NEW
22.0 8.0 45.0 11.13 MB

The podcasting enabled CMS powering binaergewitter

Home Page: https://blog.binaergewitter.de

License: MIT License

Ruby 9.74% CSS 0.82% HTML 88.86% Dockerfile 0.05% Python 0.14% Procfile 0.01% JavaScript 0.38%
podcast csm hacktoberfest

serious-bg's Introduction

General

Oh hai!

CI Support us on Patreon Donate

Markdown syntax

You can add a "release: 2" line to the article markdown in case you fudged up a release and would like to increment the GUID in the feed after a fix

You can add a "published: false" line to the article markdown to NOT have it show up anywhere.

Feeds

Feed with all items:

/podcast_feed/all/m4a/rss.xml

Examples for the category feed generation:

/podcast_feed/spezial/mp3/rss.xml
/podcast_feed/talk/opus/rss.xml

iTunes feed that uses m4a with a fallback to mp3 if there is no m4a for that episode

/podcast_feed/talk/itunes/rss.xml

Note: You can also add a feed_size parameter and a page parameter to the URL ("?feed_size=4&page=3")

Stork search

Prerequisits: install stork

For every release the stork index has to be built like this:

python gen-stork.py > stork.toml
stork --build stork.toml

then a github action builds and publishes bgt.st to https://search.binaergewitter.de/bgt.st.

Update comments after rename

If you rename a post you should migrate the old comments. Since the id for comments is the post title: https://github.com/Binaergewitter/serious-bg/blob/main/serious/lib/site/views/_isso.erb#L8.

  1. Get the comments.db
  2. Create a backup
  3. Look up the old id and new id in the threads table (i use sqlitebrowser)
  4. Run the update command UPDATE comments SET tid=$newid WHERE tid=$oldid;
  5. Save file!
  6. Upload comments.db again
scp binaergewitter:/var/lib/isso/comments.db ~/Downloads/comments.db
cp ~/Downloads/comments.db ~/Downloads/comments_bak.db

sqlitebrowser

scp ~/Downloads/comments.db binaergewitter:/var/lib/isso/comments.db

serious-bg's People

Contributors

cnleo avatar dependabot[bot] avatar dev-matil avatar dexta avatar dotlambda avatar dpunkturban avatar flecno avatar fliiiix avatar hamburger1984 avatar kickbutts avatar leoarnold avatar lightonflux avatar ltsavar avatar madmas avatar maiksensi avatar makefu avatar matthiaswenz avatar morrisjobke avatar mritzmann avatar pfleidi avatar pinpox avatar poschi3 avatar rb2k avatar rohieb avatar samuelb avatar schmittlauch avatar semoar avatar tuxflo avatar tuxinaut avatar weh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

serious-bg's Issues

Implement duration for podcast feed

z.B. bei amazon music (aber sicher auch bei mehreren anderen) wird der podcast mit 0 sekunden länge angezeigt.

Wir müssten die Länge mit in den Feed schreiben

Siehe auch #281

Lizenz? =)

Hi,
würd ja gern mal euren kram test weise forken etc, aber ohne Lizenz naja.. Wollt ihr nicht irgendwas auf das Repo schmeißen?

Grad so mit blick auf das Hacktoberfest.

Redesign

Da ihr in der Episode 80 über ein redesign gesprochen habt (https://www.dropbox.com/sh/n4904hvxsg4hfou/Csgzb4RZeS#/) muss ich nun auch nochmal meins raus suchen.

Im letzen Sommer habt ihr dazu aufgerufen, dass Hörer sich doch beteiligen sollen, wenn sie Lust darauf haben einen PR zu schicken um das Design mal schön zu machen. Als ich das hörte hatte ich zu viel Zeit und habe ein bisschen gebastelt. Die Bastelei ist allerdings insofern ausgeartet, dass ich die Webseite mit Emberjs + Bootstrap3 umgebaut habe.
Dann ist der Code bei mir auf der Festplatte verrottet. Nach der Erwähnung in der letzen Folge muss ich euch jetzt aber noch einmal mein Refactoring vorstellen.

Mich würde dazu eure Meinung interessieren. Wenn es gefällt würde ich mich demnächst darum kümmern dies als PR vorzubereiten und noch verschönern.

Startseite

binaergewitter

Episode

binaergewitter-episode

Mobile

binaergewitter-mobile

Mp3 der letzten Sendun

Hallo, ich fürchte das mit der MP3 Datei hat nicht so ganz geklappt. Hinter dem Link zur MP3 Datei liegt die ogg Version.

Wenn Live dann direkt abspielbar

Wenn wir live sind wird das zwar auf der Seite angezeigt, aber man sieht es denke ich nicht genügend.
schöner wäre z.B. ein extra div mit einer URL zum Livestream + der Möglichkeit direkt abzuspielen auf der Seite

2014-05-15.Binaergewitter-Talk.94.* fehlt

Öhm... @ltsavar , ne Idee?

$ wget http://download.binaergewitter.de/2014-05-15.Binaergewitter-Talk.94.mp3
--2014-05-16 09:35:36--  http://download.binaergewitter.de/2014-05-15.Binaergewitter-Talk.94.mp3
Resolving download.binaergewitter.de... 91.121.93.217
Connecting to download.binaergewitter.de|91.121.93.217|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2014-05-16 09:35:36 ERROR 404: Not Found.

$ wget http://download.binaergewitter.de/2014-05-15.Binaergewitter-Talk.94.ogg
--2014-05-16 09:35:42--  http://download.binaergewitter.de/2014-05-15.Binaergewitter-Talk.94.ogg
Resolving download.binaergewitter.de... 91.121.93.217
Connecting to download.binaergewitter.de|91.121.93.217|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2014-05-16 09:35:42 ERROR 404: Not Found.

$ wget http://download.binaergewitter.de/2014-05-15.Binaergewitter-Talk.94.m4a
--2014-05-16 09:35:47--  http://download.binaergewitter.de/2014-05-15.Binaergewitter-Talk.94.m4a
Resolving download.binaergewitter.de... 91.121.93.217
Connecting to download.binaergewitter.de|91.121.93.217|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2014-05-16 09:35:47 ERROR 404: Not Found.

offline tag

Wäre gut wenn man im Head von einem Markdown Files einfach offline: 1 oder offline: true angeben könnte und die Seite dann nicht im Blog und in den Feeds angezeigt wird.
Klar kann man einen Artikel auch anders offline nehmen, aber diese Variante wäre auch mit nem Smartphone schnell mal machbar....

spaactor verschlagwortet (audio to text)

Stieß neulich auf spaactor und das Ergebnis der Audio-to-text-Konvertierung sah ganz brauchbar aus, schlug den Podcast daher vor. Inzwischen ist der Podcast mit Schlagworten (Text) durchsuchbar. Inwieweit die mit den ganzen Fachbegriffen klarkommen, ist noch genauer auszuloten.

Falls das nicht in Ordnung sein sollte, könnt ihr direkt dort Kontakt aufnehmen.
Suche sieht so aus:
https://www.spaactor.com/search?mode=custom&selectedChannel=all&channel=4853d496-fcd1-4378-9b0e-5251bbf9acb8&period=complete&language=de&orWords=linux

Diverse Links redirecten nach HTTP

All eure Post-Titel auf der Startseite sind korrekt mit HTTPS verlinkt, machen aber einen Redirect auf HTTP.

Nachvollziehbar mit Curl:

$ curl -I -s https://blog.binaergewitter.de/2022/07/06/binaergewitter-talk-number-298-hitzefrei | grep location
location: http://blog.binaergewitter.de/2022/07/06/binaergewitter-talk-number-298-hitzefrei/

Hier auch als Video:

screen.mp4

Das scheint daran zu liegen, dass ihr alle URLs ohne / am Ende zur URL mit / am Ende redirected, dabei aber auch einen Redirect von HTTPS auf HTTP macht.

"internal server error" mit gpodder

Ich bekomme seit ca. einem Monat mit gpodder (v3.10.21) beim Refresh oder Hinzufügen des Binaergewitter-feeds immer einen "internal server error".

Ich habe heute mal versucht herauszufinden, was da schief läuft.

Der relevante Teil der Ausgabe von gpodder -v -s https://blog.binaergewitter.de/podcast_feed/all/mp3/rss.xml ergibt folgendes:

1639929409.053098 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): blog.binaergewitter.de:443
1639929409.629732 [urllib3.connectionpool] DEBUG: https://blog.binaergewitter.de:443 "GET /podcast_feed/all/mp3/rss.xml HTTP/1.1" 200 None
1639929409.771621 [gpodder.model] DEBUG: get_next_page: feed has next http://blog.binaergewitter.de/podcast_feed/all/mp3/rss.xml?&page=1
1639929409.773113 [urllib3.connectionpool] DEBUG: Starting new HTTP connection (1): blog.binaergewitter.de:80
1639929410.214200 [urllib3.connectionpool] DEBUG: http://blog.binaergewitter.de:80 "GET /podcast_feed/all/mp3/rss.xml?&page=1 HTTP/1.1" 500 77
1639929410.215040 [gpodder.model] DEBUG: Fetch failed. Removing buggy feed.
1639929410.215559 [gpodder.dbsqlite] DEBUG: delete_podcast: 10 (https://blog.binaergewitter.de/podcast_feed/all/mp3/rss.xml)
1639929410.221785 [gpodder.gtkui.main] ERROR: Subscription error: internal server error

Wenn ich https://blog.binaergewitter.de/podcast_feed/all/mp3/rss.xml?&page=1 im Browser aufrufe, bekomme ich diese Fehlermeldung:
image

Implement duration in new podlove-web-player v4

Der neue Player bietet die möglichkeit die Dauer einer Episode anzuzeigen.

Die dauer kann den auphonic metadaten entnommen werden
Beipspiel:
http://download.binaergewitter.de/2016-09-01.Binaergewitter.Talk.156.json

Aus javascript kann der Zugriff aktuell nicht erfolgen da ein CORS Header gesetzt werden muss.
(von blog.binaergewitter.de auf download.binaergewitter.de)

Grundsätzlich überlegungen
Es gibt insgesamt ein Design Problem in der Anwendung.

Beipspiel RSS Feed:
Ein call auf den Feed erzeugt 4 subsequent calls an die download api um die file sizes zu ermitteln.
Das selbige gilt auch für den neuen Player. Jedes file erzeugt einen header call zur ermittelung der file size. Das ist zwar bei der geringen load den die Seite hat kein großes Problem aber erzeugt unnötig viel Last.

Hieraus ergibt sich für mich folgende Frage:
Anstatt wie bisher sämtlichen Content live zu rendern wäre es eine Option auf statischen Content zu wechseln. Mann könnte themen wie das erzeugen der nötigen Metadaten deutlich leichter in einem Schritt vor dem starten des Webservers erreichen. So könnten die unterschiedlichen Datenquellen zusammengefasst werden, um z.b. eine Episode-123.json zu erzeugen die alle Informationen bündelt und welche dann statisch ausgeliefert wird.

BGT Logo

da sich immernoch niemand gefunden hat, mal euer Logo als brauchbare Vektorgrafik zu exportieren hier nochmal der Aufruf:

Gibt es einen Adobe Illustrator User, der es schafft das Logo in ein für das Web brauchbares SVG zu exportieren?

Wenn man Retina Displays gewöhnt ist, verursacht das aktuelle Logo wirklich Augenkrebs!

auphonic integration

Auphonic hat eine API.

Man könnte Sendungstitel, Nummer, Audio URLs etc automatisch auslesen und wenn auphonic die Sendung fertig hat automatisch veröffentlichen....

add filesize info to rss feed

please integrate the audio file size in the rss feed, so I can see in my podcast client how large the file is before I decide to download it.

Markdown Validation

Es sollte eigentlich möglich sein die meisten Formatierungsfehler zu erkennen.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.