GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||||||||||||||||||||||||
GeezerVison is showing phabricator.wikimedia.org — T3115 Wikitext lists cannot express multi-paragraph items, nor preformatted text (Newline as list item terminator is troublesome.)
Assigned To None Authored By
Project Tags Referenced Files None
Description Author: mediazilla Description: The current rule makes it very troublesome to create list items with multiple paragraphs, and as far as I can tell, there is no way to embed preformatted text in a list item. For example: # This is the first list item, first paragraph This is the first list item, second paragraph Here is some preformatted text with the first list item Here is the rest of the preformatted text # This is the second list item (numbered as 2) With the current rule, the above is rendered as a single item list, then a plain text paragraph, then a preformatted text paragraph, then a second single item list whose number starts with 1. This makes it difficult to create sophisticated lists. Under my proposed change, the above would be rendered instead as a single list, where the first item contains two plain text paragraphs and one preformatted text paragraph. This change is mostly compatible with current Wiki pages, since most authors would normally place an empty line after their list before starting non-list text. One could justify the use of a single newline to start a new paragraph instead of an empty line because one is in a list context. (i.e. the whole list is a single paragraph.) By the way, as a workaround I'm manually numbering my paragraphs: 1. This is the first list item, first paragraph This is the first list item, second paragraph Here is some preformatted text with the first list item Here is the rest of the preformatted text 2. This is the second list item (numbered as 2) Please let me know if you have a better workaround. Version: unspecified
Details
Related Objects Search...
Event Timeline• bzimport raised the priority of this task from to Low.Nov 21 2014, 8:07 PM2014-11-21 20:07:04 (UTC+0) • bzimport set Reference to bz1115. Comment Actions tmb wrote: Severe problems arise when Users break <a href= >.. </a> pairs by a newline. Example Wiki Code: [[WikiArticle_with_a_very_long_name_going_right_to_the_end_of_the_line|Short Description]] Results in the following code: <pre> This code might not be rendered correctly by all available browsers. Comment Actions casutton wrote: This seems to be very similar to bug 1584. Probably one of them should be Comment Actions
Comment Actions jiangxin wrote: I have fixed this bug, patch is here: wiki code:#item 1 item 1-1 \continued item 1-2<pre> above is a blank line
</pre> another paragraph. rendered as:<ol><li>item 1<br> above is a blank line
</pre> Comment Actions eminencja wrote: JiangXin patch (comment 4) looks cool. But here is another suggestion: Let me explicitly start and terminate lists. A list sould be started with #( and terminated with )#. List items should be entered as usual, with a hash #. A similar extension should be used for bulleted lists, i.e. *( and )*. Comment Actions
Comment Actions adwojnowski wrote: This is how to fix it (also filed in bug 5308 at http://bugzilla.wikimedia.org/show_bug.cgi?id=5308): LET ME EXPLICITLY START AND TERMINATE LISTS. A list could be started with #( and terminated with )#. The #( string should be translated to <OL><LI>; )# should terminate the list with </OL>. List items should be entered as usual, with a hash #. A similar extension should be used for bulleted lists, i.e. *( and )*. Note that such markup should be fairly easy to parse. It also does not conflict with existing pages. Comment Actions That would obviously conflict with any list where "(" appeared right Comment Actions adwojnowski wrote: Ad. 8 True, in the unlikely scenario that a "(" starts the list item the rendering would change. But the
BTW, can you find _one_ wiki page that uses list items starting with a "("? I couldn't ;-) How that would look in real use? Ok, I want to have a list with three numbered items showing three steps needed to configure Configuring E-mail#( To use a fancy signature go to the http:/blah url, log in and click the Mail tab. Your screen [[Image:000.png]] Select the "Send e-mail in HTML format" checkbox.Put the following HTML code into the signature field:<B>Joe Average</A> Click Save when you are done. That would be rendered as a numbered list, with three items. The list starts with #( and terminates Comment Actions gangleri wrote: Is Bug 5121: Virtual lines using a trailing escape character (as "\") Comment Actions ayg wrote: (In reply to comment #8)
The consistent thing would be to borrow from table markup. Use {#, {*, {;/{: to Comment Actions ayg wrote: *** Bug 6677 has been marked as a duplicate of this bug. *** Comment Actions adwojnowski wrote: (In reply to comment #11)
Ok -- I do not care about the character combination -- as long Comment Actions wytzevanderploeg wrote: Why isn't JiangXin's patch applied in the current versions? Comment Actions ayg wrote: Because devs are not always willing to spend their time looking over submitted Comment Actions stijn wrote: I keep running into this while attempting to use MediaWiki as our helpdesk Comment Actions anon.hui wrote: (In reply to comment #11)
{#, {*, {;, and {: should be unified into only one markup. Example (when unified to {* ), {* aaa.... bbb*} {*
....
*} Comment Actions smccandlish wrote: Bug #1584 is clearly a duplicate of this one, but perhaps more cogent over there. Comment Actions
Comment Actions
Comment Actions
Comment Actions It's all well and good to mark my bug 25587 as a duplicate, but this issue has been open since 2004 (six years). I believe my approach (in bug 25587) is the simplest yet proposed and should not break existing wiki articles. Most other approaches talk of explicitly opening and closing lists. My approach is simply "continue the previous list." Comment Actions sumanah wrote: I am agreeing with S. McCandlish that this issue is a subset of the issues discussed in bug #1584, so I am marking this a duplicate of that. Also, I'm removing the "need-review" keyword and adding the "reviewed" keyword, because Aryeh reviewed the submitted patch by saying: "The patch will also break existing behavior by continuing a list item where currently the entire list is ended." This issue also bothers me, so I'm going to add myself to the cc list for bug #1584 and I suggest you do the same, if you haven't already. Brion Vibber and Gabriel Wicke are currently working on rewriting the parser to fix issues like this one, hence the "newparser" keyword on this bug and on bug #1584 -- to follow their work, subscribe to https://lists.wikimedia.org/mailman/listinfo/wikitext-l . *** This bug has been marked as a duplicate of bug 1584 *** Comment Actions I'm not sure this is a duplicate; this bug has a more generic summary which also covered some of the issues/solutions which have been duped to it, while bug 1584 is about one specific use case. Comment Actions
Comment Actions If we want backwards compatibility, we cannot abandon these wikitext features:
I see two ways to deal with that:
Comment Actions
Yes, something similar was proposed in https://bugzilla.wikimedia.org/show_bug.cgi?id=9996#c5 ; see also https://meta.wikimedia.org/wiki/Help_talk:List#List-agnostic_markup_insertions Restricted Application added a subscriber: Aklapper. · View Herald TranscriptOct 25 2015, 8:33 AM2015-10-25 08:33:19 (UTC+0) tstarling updated the task description. (Show Details)Nov 24 2015, 5:59 AM2015-11-24 05:59:45 (UTC+0) Comment Actions The proposed new syntax with {#
{*
{;
{:for the initiators of list items is good. But the terminators #} *} ;} :} may cause problems with the existing syntax (because the closing brace may well be part of a legacy list item after its starting prefix (even if they are recognized as list item terminators instead of list item initiators only when they match in context with an list item initiator in the new syntax) My opinion is that it will be safer if MediaWiki just recognizes the <ol></ol> or <ul></ul> tags and their <li> members, or the <dl></dl> tags and their or <dt> or <dd> members (and allows them to be mixed between the legacy Wiki syntax and the HTML syntax within the same type of list, including by recognizing a few attributes such as numbering options in ordered lists) So the following syntax would be valid <ol start="5"> # item 5 # item 6 <li start="10"> # item 10 <li>item 12 This paragraph is also part of item 12 (and indented just its heading line) <li>item 13 </li> # item 14 </ol> Note that <li>, <dl> and <dt> don't need to be terminated (they are terminated implicitly by the next <li>, <dl> or <dt> or by the list closure with </ol>, </ul> or </dl>) Also MediaWiki would keep the current start value but would not increment it by creating an empty list item: the next non-empty list item using the legacy syntax will keep it. It would only preserve the list items (even when they are empty). So </li>, </dl>, </dt> closing tags would just be ignored/discarded silently in all cases (just like in HTML5 where they are also not needed at all, or in legacy HTML4; they are just needed in XHTML only for conformance with XML). As we use explicit list initiators/terminators (with HTML tags) there's no requirement to use HTML also for list items in those enclosed lists. In such explicitly enclosed lists, paragraphs and newlines would be recognized but would not cause the list to be terminated before them. A single newline will continue the curent list item, two or more newlines will create a new paragraph within the existing list item. We could also use <div>'s in list items. We could also still embed lists in list items: with the legacy syntax, we have to repeat the prefixes to get to the correct level, but when using explicit HTML tags, such thing is not necessary! # item 1 <ol> # item 1.1 # item 1.2 </ol> # item 2 instead of: # item 1 ## item 1.1 ## item 1.2 # item 2 It would also simplify the edits in talk pages using ":" (definition lists) for block indentation: : A says something :: B replies to A ::: C replies to B :: D replies to A : A says something else <dl> A says something <dl> B replies to A <dl>C replies to B</dl> D replies to A </dl> A says something else. </dl> With the HTML syntax, definitions lists may be indented, but the indentation does not generate preformated blocks within talks: to do that you'd need to first terminate the list item explicitly and add a newline before the preformated block <dl> A says something preformated code by A preformated code by A A continues A continues <dl> B replies to A : C replies to B <dl> F replies to B</dl> D replies to A </dl> A says something else. </dl> MediaWiki will infer the generation of <dd> items within <dl></dl> if there's no ":" or ";" leading. It will still close the current definition list and start an (un)ordered if a line starts by * or # or <li> or <ol> or <ul>. If there's no <ul> or <ol> but only a <li>, it will assume an unordered list (bulleted) and will infer a <ul></ul> automatically. In all cases, list items will not be broken by simple newlines, or even by new paragraphs initiated with two new lines or more within the same list item or definition/talk. Danny_B edited projects, added: Parsoid; removed: Newparser.Jul 3 2016, 12:25 AM2016-07-03 00:25:50 (UTC+0) Liuxinyu970226 updated the task description. (Show Details)Jan 26 2017, 9:36 AM2017-01-26 09:36:29 (UTC+0) Liuxinyu970226 subscribed. Izno closed this task as a duplicate of T11996: Multiline HTML elements in lists parsed to broken HTML.Aug 8 2018, 1:47 PM2018-08-08 13:47:33 (UTC+0) Restricted Application removed a subscriber: Liuxinyu970226. · View Herald TranscriptAug 8 2018, 1:47 PM2018-08-08 13:47:37 (UTC+0) • Chealer renamed this task from Newline as list item terminator is troublesome to Wikitext lists cannot express multi-paragraph items, nor preformatted text (Newline as list item terminator is troublesome.).Apr 3 2025, 3:26 PM2025-04-03 15:26:16 (UTC+0) Comment Actions Many/most use cases of pre-formatted text at the time can now be achieved with the HTML code element. MediaWiki can generate the HTML pre element in a list when writing the tags, as explained in T3581. Thanks for filing this ticket anyway, which I find particularly relevant for multi-paragraph items. The related T3584 and T15642 both propose syntaxes to increase list expressiveness. Also, comments in T11996 propose syntactic additions. Aklapper lowered the priority of this task from Medium to Low.Jul 8 2025, 3:39 PM2025-07-08 15:39:15 (UTC+0) Jgiannelos moved this task from Needs Triage to Feature requests on the Parsoid board.Jul 24 2025, 2:40 PM2025-07-24 14:40:54 (UTC+0) Izno closed this task as a duplicate of T11996: Multiline HTML elements in lists parsed to broken HTML.Sep 8 2025, 12:58 AM2025-09-08 00:58:22 (UTC+0) Izno subscribed. Comment ActionsReclosing as a duplicate. There was no obvious reason to reopen there. Ultimately it's all "lists don't do multiline elements". Content licensed under Creative Commons Attribution-ShareAlike (CC BY-SA) 4.0 unless otherwise noted; code licensed under GNU General Public License (GPL) 2.0 or later and other open source licenses. By using this site, you agree to the Terms of Use, Privacy Policy, and Code of Conduct. · Wikimedia Foundation · Privacy Policy · Code of Conduct · Terms of Use · Disclaimer · CC-BY-SA · GPL · Credits | |||||||||||||||||||||||||||||||||
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |