feature-Wunsch Zeilennummern für Code-Blöcke
Matthias Apsel
- zu diesem forum
Hallo alle,
Zeilennummern für Code-Blöcke wären eigentlich eine coole Idee.
Bis demnächst
Matthias
Hallo,
Zeilennummern für Code-Blöcke wären eigentlich eine coole Idee.
Vielleicht kann lining.js dabei helfen?
Gruß
Kalk
Hallo Tabellenkalk,
Vielleicht kann lining.js dabei helfen?
Sagt ausgerechnet der JavaScript-Verweigerer ;-)
Bis demnächst
Matthias
Hallo,
Vielleicht kann lining.js dabei helfen?
Sagt ausgerechnet der JavaScript-Verweigerer ;-)
Man könnte natürlich auch serverseitig den Codeblock auseinandernehmen und zeilenweise in ollis verpacken. Aber will man das?
Jedenfalls schien mir eine CSS-Lösung nicht realistisch.
Gruß
Kalk
Aloha ;)
Zeilennummern für Code-Blöcke wären eigentlich eine coole Idee.
Ich unterstütze den Vorschlag.
Auf technischer Seite sehe ich aber das Problem, dass wir auch bei Listen haben. Sowie bei Listen aus
wird,
bekämen wir wahrscheinlich aus
001| Beispielcode
002|
003| und noch mehr
004| davon
ein
001| Beispielcode 002|
ähnlich blödes Ergebnis.
001| und noch mehr 002| davon
Imho muss erstmal eine Lösung für dieses Problem gefunden werden. Zeilennummern sind nur dann wirklich sinnvoll, wenn sie auch über Zitate und Verstümmelungen hinweg eindeutig bleiben (denn erst dann kann man sich sinnvoll darauf beziehen).
@CK: Wäre es denn eine Option, die automatische Nummerierung beim Klick auf den "Antworten"(mit Zitat)-Button für die Zitiererei hart zu kodieren? Also, dass beim Zitat nicht exakt der Quelltext eingefügt wird, sondern eben Quelltext mit hartkodierten Nummerierungen? Im Sinne davon, dass aus
- Aufzählungs-Text
- Aufzählungs-Text
- Aufzählungs-Text
> 1. Aufzählungs-Text
> 1. Aufzählungs-Text
> 1. Aufzählungs-Text
im Originalposting beim Zitieren
1. Aufzählungs-Text
2. Aufzählungs-Text
3. Aufzählungs-Text
> {::nomarkdown}1.{:/} Aufzählungs-Text
> {::nomarkdown}2.{:/} Aufzählungs-Text
> {::nomarkdown}3.{:/} Aufzählungs-Text
wird? Das würde dann nämlich funktionieren:
1. Aufzählungs-Text
bla
2. Aufzählungs-Text
bla
3. Aufzählungs-Text
Grüße,
RIDER
Hallo,
Zeilennummern für Code-Blöcke wären eigentlich eine coole Idee.
Ich unterstütze den Vorschlag.
mi tu
Auf technischer Seite sehe ich aber das Problem, dass wir auch bei Listen haben. Sowie bei Listen aus
ich finde die Markdown-Lösung für Listen sowieso überflüssig. Abgesehen von dem Problem beim Zitieren: Ob ich nun selber die Listenpunkte schreibe und durchnummeriere (1. 2. 3.) oder das von Markdown machen lassen (1. 1. 1.), wo ich dann noch auf eine Leerzeile am Anfang und Ende achten muss. Ich schreib dann immer irgendwas (7. 412. 34.) und freu mich darüber, dass Mark das wieder runterrechnen muss. Bei Mediawiki ist es wenigstens nur ein Zeichen (# # #).
Gruß
Kalk
Aloha ;)
ich finde die Markdown-Lösung für Listen sowieso überflüssig. Abgesehen von dem Problem beim Zitieren: Ob ich nun selber die Listenpunkte schreibe und durchnummeriere (1. 2. 3.) oder das von Markdown machen lassen (1. 1. 1.), wo ich dann noch auf eine Leerzeile am Anfang und Ende achten muss. Ich schreib dann immer irgendwas (7. 412. 34.) und freu mich darüber, dass Mark das wieder runterrechnen muss. Bei Mediawiki ist es wenigstens nur ein Zeichen (# # #).
Damit sprichst du mir aus der Seele. Es ist aber eben nun einmal so, dass die Entscheidung für Markdown gefallen ist (mit allen Features - selbstverständlich), und somit müssen wir eben einen Workaround finden...
Grüße,
RIDER
Hallo Camping_RIDER,
@CK: Wäre es denn eine Option, die automatische Nummerierung beim Klick auf den "Antworten"(mit Zitat)-Button für die Zitiererei hart zu kodieren? Also, dass beim Zitat nicht exakt der Quelltext eingefügt wird, sondern eben Quelltext mit hartkodierten Nummerierungen? Im Sinne davon, dass aus
1. Aufzählungs-Text 1. Aufzählungs-Text 1. Aufzählungs-Text
im Originalposting beim Zitieren
{::nomarkdown}1.{:/} Aufzählungs-Text {::nomarkdown}2.{:/} Aufzählungs-Text {::nomarkdown}3.{:/} Aufzählungs-Text
wird? Das würde dann nämlich funktionieren:
1\. Aufzählungs-Text
2\. Aufzählungs-Text
3\. Aufzählungs-Text
ergibt auch
1. Aufzählungs-Text
2. Aufzählungs-Text
3. Aufzählungs-Text
Bis demnächst
Matthias
Guten Abend
Zeilennummern für Code-Blöcke wären eigentlich eine coole Idee.
Das finde ich auch, allerdings würde ich dies eher in den Bereich Komfort-Feature einordnen, während mir eine andere Konfiguration im Zusammenhang mit den Code-Blöcken wesentlich diskussionswürdiger erscheint:
Nämlich die Frage, warum innerhalb von Code-Blöcken horizontales Scrollen offenbar nur ab einer gewissen Minimumbreite des Viewports erlaubt ist.
Mir ist nun schon beim Lesen vieler Beiträge aufgefallen, dass an und für sich ordentlich formatierter Code durch den automatischen Umbruch deutlich an Leserlichkeit eingebüßt hat, was eigentlich nicht sein müsste, wie ich finde.
Gerade HTML ist aufgrund der vertretbaren Praxis, Attribute nebeneinander zu notieren, sowie der weniger vertretbaren Praxis, zusätzlich noch Inline-Styles oder Event-Handler innerhalb der Tags unterzubringen, ja geradezu prädestiniert, breite Zeilen zu erzeugen. Etwaige Einrückungen noch nicht berücksichtigt.
Auch wenn der automatische Zeilenumbruch im normalen Textfluss durchaus gewünscht ist, sollte der Code meiner Meinung nach so dargestellt werden, wie er nun mal formatiert ist, auch wenn er dadurch die gesetzte Maximalbreite des Fensters überschreitet.
Viele Grüße,
HAL
@@( HAL )
Auch wenn der automatische Zeilenumbruch im normalen Textfluss durchaus gewünscht ist, sollte der Code meiner Meinung nach so dargestellt werden, wie er nun mal formatiert ist, auch wenn er dadurch die gesetzte Maximalbreite des Fensters überschreitet.
Nö. Denk mal an Smartphones. Da hätte man den Anfang der Zeile schon wieder vergessen, wenn man mit Scrollen am Ende angekommen ist.
Und das ständige horizontale Hin-und-Herscrollen wäre ein PITA.
LLAP 🖖
Guten Abend Gunnar
[...] Denk mal an Smartphones. Da hätte man den Anfang der Zeile schon wieder vergessen, wenn man mit Scrollen am Ende angekommen ist.
Und das ständige horizontale Hin-und-Herscrollen wäre ein PITA.
Das ist sicherlich richtig, aber dieser Problematik könnte man doch leicht Rechnung tragen, indem man über Media Queries die white-space
Eigenschaft bei Viewports ab einer gewissen Größe von pre-wrap
auf pre
setzt.
So würden zumindest die Benutzer größerer Bildschirme den Code richtig formatiert dargestellt bekommen und für diejenigen, welche die Seite auf dem Smartphone betrachten, würde sich die Situation zumindest nicht verschlechtern.
Oder übersehe ich dabei etwas?
Gruß,
HAL
Aloha ;)
Auch wenn der automatische Zeilenumbruch im normalen Textfluss durchaus gewünscht ist, sollte der Code meiner Meinung nach so dargestellt werden, wie er nun mal formatiert ist, auch wenn er dadurch die gesetzte Maximalbreite des Fensters überschreitet.
Nö. Denk mal an Smartphones. Da hätte man den Anfang der Zeile schon wieder vergessen, wenn man mit Scrollen am Ende angekommen ist.
Hm, das sehe ich anders als du. Ich finde, dass Codeblöcke nicht in Zeilenumbrüche gequetscht werden sollten, auch nicht auf dem Smartphone. Die Lesbarkeit des Codes ist trotz der Einschränkung des Scrollens größer als mit Zeilenumbruch. Bei Fließtext würde ich dir jederzeit zustimmen, aber Quellcode gehört so formatiert wie er getippt wurde - auch auf dem Smartphone.
Ich würde mich der Meinung deines Vorredners anschließen.
Und das ständige horizontale Hin-und-Herscrollen wäre ein PITA.
Was wäre das? Pita?
Grüße,
RIDER
Guten Abend Camping_RIDER
Und das ständige horizontale Hin-und-Herscrollen wäre ein PITA.
Was wäre das? Pita?
No. More like Pain In The Ass.
Viele Grüße,
HAL
Aloha ;)
Und das ständige horizontale Hin-und-Herscrollen wäre ein PITA.
Was wäre das? Pita?
No. More like Pain In The Ass.
Ah, danke für die Erklärung :D Ich kenn mich zwar mit Abkürzungen soweit aus, die war mir aber noch nicht geläufig ;)
Grüße,
RIDER
Hallo
Zeilennummern für Code-Blöcke wären eigentlich eine coole Idee.
Das finde ich auch, allerdings würde ich dies eher in den Bereich Komfort-Feature einordnen, während mir eine andere Konfiguration im Zusammenhang mit den Code-Blöcken wesentlich diskussionswürdiger erscheint:
Nämlich die Frage, warum innerhalb von Code-Blöcken horizontales Scrollen offenbar nur ab einer gewissen Minimumbreite des Viewports erlaubt ist.
Mir ist nun schon beim Lesen vieler Beiträge aufgefallen, dass an und für sich ordentlich formatierter Code durch den automatischen Umbruch deutlich an Leserlichkeit eingebüßt hat, was eigentlich nicht sein müsste, wie ich finde.
Und das ist noch nicht alles. Nicht nur, dass Code – mindestens am Desktop – nicht umgebrochen, sondern so, wie eingegeben, dargestellt werden sollte, ein sich dadurch ergebendes Problem ist das notwendige Querscrollen. Bei längeren Codeblöcken ist der Scrollbalken anfangs nicht erreichbar, weil er sich noch unterhalb des im Viewport dargestellten Ausschnitts der Seite befindet. Ich kann so nicht querscrollen. Um das Ende überlanger Zeilen zu lesen, ohne zuerst nach unten an das Ende des Codeblocks zu scrollen, dann nach rechts zu scrollen und dann wieder nach oben zu scrollen. Alternativ dazu kann ich den Cursor in eine lange Zeile setzen und dann nach rechts verschieben.
Bequem ist anders.
Kann man ohne JavaScript die Höhe des im Viewport angezeigten Postings ermitteln, um die Höhe eines Codeblocks derart zu beschränken, dass der untere Scrollbalken angezeigt wird, wenn der Codeblock einen nicht unerheblichen Teil der Höhe des Viewports einnimmt?
Tschö, Auge
@@Auge
Kann man ohne JavaScript die Höhe des im Viewport angezeigten Postings ermitteln, um die Höhe eines Codeblocks derart zu beschränken, dass der untere Scrollbalken angezeigt wird, wenn der Codeblock einen nicht unerheblichen Teil der Höhe des Viewports einnimmt?
max-height: 100vh
(oder etwas weniger)
LLAP 🖖
Hallo
Kann man ohne JavaScript die Höhe des im Viewport angezeigten Postings ermitteln, um die Höhe eines Codeblocks derart zu beschränken, dass der untere Scrollbalken angezeigt wird, wenn der Codeblock einen nicht unerheblichen Teil der Höhe des Viewports einnimmt?
max-height: 100vh
(oder etwas weniger)
Danke, probier ich im User-CSS aus.
Tschö, Auge
Guten Tag Auge
[...] ein sich dadurch ergebendes Problem ist das notwendige Querscrollen. Bei längeren Codeblöcken ist der Scrollbalken anfangs nicht erreichbar, weil er sich noch unterhalb des im Viewport dargestellten Ausschnitts der Seite befindet. Ich kann so nicht querscrollen. Um das Ende überlanger Zeilen zu lesen, ohne zuerst nach unten an das Ende des Codeblocks zu scrollen, dann nach rechts zu scrollen und dann wieder nach oben zu scrollen. Alternativ dazu kann ich den Cursor in eine lange Zeile setzen und dann nach rechts verschieben.
Bequem ist anders.
In der Tat. Diese Problematik ist mir auch auf stackoverflow aufgefallen, wo die Zeilen der Code-Blöcke nicht umgebrochen werden.
Ich habe übrigens festgestellt, dass das Scrollen von überfließenden Code-Blöcken auf dem Smartphone (zumindest auf meinem) sogar komfortabler ist, als mit der Maus, da man hier einfach über dem Block hin- und herwischen kann, ohne eine Scrollbar selektieren zu müssen.
Vielleicht könnte man einen ähnlichen Effekt erzielen, indem man die Maus-Events dahingehend erweitert, dass die Verwendung des Mausrades in Verbindung mit der rechten Maustaste den Code-Block horizontal scrollt; Mausrad ohne rechte Maustaste scrollt wie Default vertikal.
So könnte man sich auch auf dem Desktop die Bedienung der Scrollbars sparen.
Darüber hinaus wäre eine reine Layoutlösung natürlich fein, aber ich sehe leider nicht, wie sich das verwirklichen ließe.
Viele Grüße,
HAL
Hallo
[...] ein sich dadurch ergebendes Problem ist das notwendige Querscrollen. …
Bequem ist anders.
In der Tat. Diese Problematik ist mir auch auf stackoverflow aufgefallen, wo die Zeilen der Code-Blöcke nicht umgebrochen werden.
Gerne auch bei github.com. Mal schnell im Code einer Datei nach einem bestimmten Abschnitt schauen, kann kompliziert werden. :-)
Vielleicht könnte man einen ähnlichen Effekt erzielen, indem man die Maus-Events dahingehend erweitert, dass die Verwendung des Mausrades in Verbindung mit der rechten Maustaste den Code-Block horizontal scrollt; Mausrad ohne rechte Maustaste scrollt wie Default vertikal.
So könnte man sich auch auf dem Desktop die Bedienung der Scrollbars sparen.
Darüber hinaus wäre eine reine Layoutlösung natürlich fein, aber ich sehe leider nicht, wie sich das verwirklichen ließe.
Ich probiere gerade Gunnars Vorschlag mit folgenden Werten aus.
.posting-content code.block {
max-height: calc(100vh - 4rem);
}
Nun muss mir nur noch ein überhoher Codeblock begegnen. Ich könnte zwar auch eine Postingvorschau erzeugen, aber gelegentlich mag ich es, Geduld zu beweisen. :-)
Tschö, Auge
Hallo Auge,
Nun muss mir nur noch ein überhoher Codeblock begegnen. Ich könnte zwar auch eine Postingvorschau erzeugen, aber gelegentlich mag ich es, Geduld zu beweisen. :-)
Nimm dies, du Schurke ;-)
Bis demnächst
Matthias
Hallo
Nun muss mir nur noch ein überhoher Codeblock begegnen. Ich könnte zwar auch eine Postingvorschau erzeugen, aber gelegentlich mag ich es, Geduld zu beweisen. :-)
Nimm dies, du Schurke ;-)
Nicht mal das („gelegentlich mag ich es, Geduld zu beweisen“) lässt du mir. :-)
Das verlinkte Posting bietet zwar auf Anhieb keinen Querscrollbalken – ja, das Fenster schmaler und breiter zu machen, ist mir möglich –, aber es eignet sich gut zur Feinjustage. Der konkrete Wert 100vh - 4rem
passt bei einer Höhe von 2.25em
von #top
nur sehr knappich und unschön in's Bild. Also etwas großzügiger mit 100vh - 6.5rem
ran und schon sieht es genehmer aus. Nun noch den Umbruch als solchen mit white-space: pre;
unterbinden. Jetzt verhält sich der Codeblock wie gewünscht.
Zusammenfassung:
.posting-content code.block {
white-space: pre;
max-height: calc(100vh - 6.5rem);
}
Tschö, Auge
Hallo Auge,
Und das ist noch nicht alles. Nicht nur, dass Code – mindestens am Desktop – nicht umgebrochen, sondern so, wie eingegeben, dargestellt werden sollte, ein sich dadurch ergebendes Problem ist das notwendige Querscrollen. Bei längeren Codeblöcken ist der Scrollbalken anfangs nicht erreichbar, weil er sich noch unterhalb des im Viewport dargestellten Ausschnitts der Seite befindet.
Kann man ohne JavaScript die Höhe des im Viewport angezeigten Postings ermitteln, um die Höhe eines Codeblocks derart zu beschränken, dass der untere Scrollbalken angezeigt wird, wenn der Codeblock einen nicht unerheblichen Teil der Höhe des Viewports einnimmt?
Die Codeblöcke haben bereits eine maximale Höhe von 50em. Auch mit den vorgeschlagenen 100vh - 4rem kannst du nicht garantieren, dass der untere Scrollbalken immer sichtbar wäre, aber du kannst auf diese Weise garantieren, dass ein Codeblock immer ganz in den Viewport passt. 80vh ist vielleicht auch keine schlechte Idee.
Bis demnächst
Matthias
Hallo
Und das ist noch nicht alles. Nicht nur, dass Code – mindestens am Desktop – nicht umgebrochen, sondern so, wie eingegeben, dargestellt werden sollte, ein sich dadurch ergebendes Problem ist das notwendige Querscrollen. Bei längeren Codeblöcken ist der Scrollbalken anfangs nicht erreichbar, weil er sich noch unterhalb des im Viewport dargestellten Ausschnitts der Seite befindet.
Kann man ohne JavaScript die Höhe des im Viewport angezeigten Postings ermitteln, um die Höhe eines Codeblocks derart zu beschränken, dass der untere Scrollbalken angezeigt wird, wenn der Codeblock einen nicht unerheblichen Teil der Höhe des Viewports einnimmt?
Die Codeblöcke haben bereits eine maximale Höhe von 50em.
Ja, ich sah es. Das passt definitiv nicht in jeden Viewport.
Auch mit den vorgeschlagenen 100vh - 4rem kannst du nicht garantieren, dass der untere Scrollbalken immer sichtbar wäre, …
Das war nicht mein Ansinnen. Bei einem Codeblock, der gerade so von unten in den Viewport ragt, muss natürlich gescrollt werden, um an den Querscrollbalken zu gelangen.
… aber du kannst auf diese Weise garantieren, dass ein Codeblock immer ganz in den Viewport passt.
Eben.
80vh ist vielleicht auch keine schlechte Idee.
Ich habe die 100vh - 4rem
gewählt, weil ich in meinem User-CSS #top
festgenagelt habe. Das ist erstmal nur ein Lösungsansatz für mich.
Tschö, Auge
Hallo Auge,
Ich habe die
100vh - 4rem
gewählt, weil ich in meinem User-CSS#top
festgenagelt habe. Das ist erstmal nur ein Lösungsansatz für mich.
Ich auch. Und außerdem noch .personallinks
.
Bis demnächst
Matthias