Anfrage: Fügen Sie das Attribut „type" für \u0026lt;ol\u0026gt; zur Whitelist hinzu. Als Vorschlag: Dasselbe für „reversed" bei \u0026lt;ol\u0026gt; und für „value" bei \u0026lt;li\u0026gt;, aus ähnlichen, wenn auch weniger häufigen Gründen.
Zweck: Diese Attribute sind für den Fall vorgesehen, dass der Marker der geordneten Listenelemente selbst eine Bedeutung für den Inhalt der Liste trägt. Typischerweise ist dies der Fall, wenn auf Listenelemente über diesen Marker verwiesen werden soll. Dies steht im Gegensatz zu CSS list-style-type, das dort verwendet wird, wo die Wahl des Markers keine wesentliche Funktion hat. (Obwohl ich es für die lokalisierung des gesamten Forums empfohlen gesehen habe, was wirklich großartig ist!)
Hintergrund: Beim Versuch, ein offizielles Referenzdokument zu zitieren, entdeckte ich eine scheinbare Einschränkung bei der Listenformatierung, die eine genaue Wiedergabe verhindert. Oft sind Listenmarker rein stilistisch. Manchmal dienen sie jedoch dazu, in dokumenten mit vielen Listen Referenzen zu erleichtern. Beispielsweise kann in offiziellen und rechtlichen Dokumenten auf ein Listenelement (oder Unterpunkt) über den Listenmarker verwiesen werden: „Offizielles Dokument Artikel I, Abschnitt 1(a)(i)".
Ich bin unsicher, ob in BBCode eine Standardmethode verfügbar ist, soweit überhaupt etwas in BBCode standardisiert ist. Ich konnte nichts finden, das über den Start bei einer beliebigen Ziffer hinausgeht. BBCode-Listentags werden von Discourse ohnehin nicht verwendet.
Sowohl HTML als auch HTML+Style liefern nicht das richtige Ergebnis:
Ich stelle jedoch fest, dass die Einführung dieser Attribute den HTML-zu-Markdown-Konverter über diese Attribute im Unklaren lässt. Wie oben gezeigt, kann markdown-it derzeit jedoch sowieso keine Markdown-Syntax verarbeiten, die diese Attribute darstellt. Dafür könnte es wünschenswert sein, einen Schritt weiterzugehen und Listenarten in CommonMark zu implementieren…
Das Fehlen dessen macht es sehr schwierig, offizielle Dokumente, Rechtsdokumente, Softwarelizenzen oder任何其他 Dinge zu zitieren, die nicht-numerische Marker für Dokumentenreferenzen verwenden.
Das ist eine gute Lösung, wenn es nur um beliebige Listen-Formatierungen geht. Das HTML-Attribut type ist jedoch speziell für semantisch sinnvolle Situationen gedacht, bei denen die Unterschiede zwischen den Listenmarkierungen mehr als nur dekorativ sind. Laut https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ol:
Wenn der Typ der Listennummer keine Bedeutung hat (z. B. in juristischen oder technischen Dokumenten, in denen Elemente über ihre Nummer oder ihren Buchstaben referenziert werden), verwenden Sie stattdessen die CSS-Eigenschaft list-style-type.
Da dies ein häufiges Bedürfnis ist, wurde das HTML-Attribut, obwohl es in HTML 4.01 als veraltet eingestuft wurde (mit der Begründung, es sei rein stilistisch), in HTML5 speziell für den Zweck wieder eingeführt, Referenzlisten gemäß der Beschreibung von MDN zu kodieren.
Ich habe versucht, diese Lösung zu verwenden, und sie funktioniert, indem das CSS wie folgt korrigiert wird (der ersten Zeile fehlte ein ol {):\n\n```css
.cooked div[data-wrap="letterlist"] ol {
list-style: upper-alpha;
}
Es scheint, dass die Verwendung von HTML auf diese Weise die Markdown-Interpretation innerhalb der <li>-Tags deaktiviert, was für mich nicht wirklich akzeptabel ist, um es Benutzern vorzuschlagen.
Ich weiß. Wie ich sagte, halte ich das für meine Benutzer nicht akzeptabel – es ändert die Auszeichnung komplett, nur weil Sie eine etwas andere Liste wünschen.