Das ist im Moment nicht konfigurierbar. Ich frage mich jedoch, warum man sich mit Kontext beschäftigen sollte, wenn man einfach L12-L20 anfordern kann?
Das sind sozusagen zwei Feature-Anfragen in einem Ich vermute, du möchtest, dass die Zeilen „hervorgehoben
In diesem Fall führe ich den Leser durch eine Reihe von Änderungen an einer Datei. Der Kontext ist in jedem Fall wichtig, egal ob ich eine Zeile oder viele hervorhebe.
Die Komponente hebt bereits eine Zeile mit Kontext hervor. Der hier vorliegende Fall möchte, dass dieses gleiche Verhalten auch auf mehrere Zeilen angewendet wird.
Ich erkenne die Sinnhaftigkeit des aktuellen Schemas, halte aber auch die Unterstützung von mehrzeiligen Hervorhebungen mit Kontext für gut begründet.
Wenn Onebox nicht bereits über den Link hinaus konfigurierbar ist, müsste es dies werden. Vielleicht so etwas wie:
Es gibt hier nicht viel Neues außer der Konfiguration dessen, was die Komponente formatiert und anzeigt.
Auf den ersten Blick scheint dies eine Änderung nur auf der Backend-Seite zu sein. Betrachten Sie die Unterschiede zwischen diesen beiden onebox.json-Antworten:
Wie man erwarten würde, enthält die eine Antwort einen Kontext mit einer hervorgehobenen Zeile, die andere nicht.
Wenn das Backend pro Anfrage konfigurierbar wäre, ginge es darum, die bestehenden Formatierungsregeln anzuwenden. Ich sehe, dass die Implementierung von einer zu hervorhebenden Zeile ausgeht. Die Änderung zur Unterstützung eines Zeilenbereichs ist minimal (z. B. Verwendung eines Arrays von zu hervorhebenden Zeilen und Prüfung auf Mitgliedschaft).
Vielleicht funktioniert etwas wie das in diesen Fällen, wenn es sich zu 100 % um Ausreißer handelt. Das Problem ist, dass es mit GitHub kollidiert, was nicht ideal ist.
Persönlich würde ich implizites Verhalten vermeiden. Ich habe bereits ein Beispiel, das fünf Zeilen hervorhebt
Ich habe einen Workaround dafür implementiert, der eine Theme-Komponente verwendet, die nach einem Wrapper-div sucht, das die Konfiguration für den eingebetteten GitHub-Link enthält. Die Komponente wartet auf das DOM-Modified-Event, um zu wissen, wann der Link durch Codezeilen ersetzt wird, und arbeitet dann mit dem Zustand li.selected zur Auswahl. Dieser Hack ändert nicht die abgerufenen Zeilen, sodass er keinen Kontext hinzufügen oder entfernen kann.
Ich denke, eine explizite Methode zur Steuerung des Verhaltens ist besser als die Änderung von Standardwerten oder der Versuch, die Komponente intelligenter zu machen.
Die Konfiguration/Einstellungen direkt in der URL zu übermitteln, könnte funktionieren, untergräbt aber die semantische Bedeutung des Links. Wenn die Verwendung eines umschließenden Tags keine Option ist, würde ich zumindest annehmen, dass Sie die onebox-spezifische Konfiguration entfernen möchten.