diff --git a/CLAUDE.md b/CLAUDE.md index 698a657..e72ae89 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -72,8 +72,23 @@ Rutsch ein und ordnet jede `tr` nach ihrem ersten verwertbaren Link zu. Eine Forenzeile verlinkt in der Spalte „letzter Beitrag" ebenfalls `viewtopic.php` — zaehlte man Themenlinks zuerst, faellt die Zeile als Thema an, der Forenname verschwindet und nur die Beschreibung bleibt als `.rm-last` uebrig. Genau so -war es vor 3.2. Brotkrumen und „Mark forums read" verlinken ebenfalls Foren, -stehen aber in Zeilen ohne Forenmerkmale und werden verworfen. +war es vor 3.2. Brotkrumen verlinken ebenfalls Foren, stehen aber in Zeilen +ohne Forenmerkmale und werden verworfen. + +**„Mark topics read" braucht eine eigene Bremse, „Mark forums read" nicht.** +Beide sind reine Aktionslinks, keine Inhaltslinks, aber nur „Mark forums read" +zeigt auf `index.php` und faellt schon beim Einsammeln durch, weil das keine +der gesuchten Adressen ist. „Mark topics read" oberhalb der Themenliste zeigt +dagegen mit `?mark=topics` auf dieselbe `viewforum.php`-Seite und passt damit +auf den Sammel-Selektor. Sein Link liegt zwar in einer eigenen inneren `tr` +ohne verschachtelte Tabelle, `a.closest('td.cat')` findet aber trotzdem die +aeussere Kategoriezelle drumherum — bis 3.7 wurde daraus eine dauerhafte, +nicht einklappbare `.rm-sec`-Karte oberhalb von Global Announcements statt gar +keiner. `rowKind()` verwirft seit 3.8 jeden Link mit `?mark=` oder `&mark=` +in der Adresse, bevor die uebrige Klassifizierung ueberhaupt beginnt. Das +Repository hat keine eingeloggte `viewforum.php`-Fixture, die diesen Link mit +echtem Markup zeigt — geprueft ist die Bremse nur gegen den vermuteten +`mark=topics`-Parameter, per Texteinfuegung in `dev/viewforum.php`. **Der Typ einer Themenzeile steht im Symbol, nicht am Titel.** `rinDark` unterscheidet `global_read.png`, `announce_read.png`, `sticky_read.png` und diff --git a/rin-mobile.user.js b/rin-mobile.user.js index d246ff1..3d3c0cf 100644 --- a/rin-mobile.user.js +++ b/rin-mobile.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name RIN Mobile // @description Mobile Ansicht fuer cs.rin.ru: Themenlisten als Karten, Threads als Beitragsstrom -// @version 3.7 +// @version 3.8 // @match *://cs.rin.ru/forum/* // @run-at document-start // ==/UserScript== @@ -905,12 +905,19 @@ } // Welche Karte eine Zeile ergibt, entscheidet der erste verwertbare Link - // darin. Beiwerk wie die Brotkrumen oder "Mark topics read" verlinkt - // ebenfalls auf viewforum.php, steht aber in keiner Zeile, die eine Karte - // hergibt — deshalb muss eine Forenzeile als solche erkennbar sein. + // darin. Beiwerk wie die Brotkrumen verlinkt ebenfalls auf viewforum.php, + // steht aber in keiner Zeile, die eine Karte hergibt — deshalb muss eine + // Forenzeile als solche erkennbar sein. function rowKind(a, tr) { if (!txt(a) || a.classList.contains('breadcrumbs') || a.closest('p.breadcrumbs')) return ''; + // "Mark topics read" (eingeloggt oberhalb der Themenliste) und "Mark + // forums read" verlinken mit ?mark=topics/forums auf die aktuelle Seite + // selbst. Der Link liegt zwar in einer eigenen inneren