Feature summary
I would like to be able to set up CSS classes or ID tags using some simple markup. I've seen it used in other markup languages, and it's very intuitive.
For example:
{._special-p} PARAGRAPH
NORMAL PARAGRAPH
- UL item 1
- {#_referenced-later} SPECIAL UL ITEM I WILL REFERENCE LATER
- UL item 3
Use case(s)
While proofreading at Wikisource, sometimes we encounter some works that have some structure encoded with the styling, but doesn't correspond with traditional HTML tags. For example, a work with two or more types of paragraphs, with small and big typesets, different margins, or something like that.
Ideally, if you want to preserve the semantics behind the original text, one should tag those paragraphs or list items with some meaningful tag, and then apply CSS to the whole work, to reflect the styling.
The usual workarounds are:
- wrap the items in raw HTML (for example a <div class=class-name>. That's a good approach, but semantically it adds a layer that it doesn't belong to the "real" tree. Also, it's convoluted and adds clutter to the wikitext.
- make some ad-hoc template and apply it only to said work. It may be even better and made to comply semantically, but it adds too much complexity to proofreading (now you need to learn to write an adequate template, and so on)
There's also some edge cases where everything below begins to fail (special paragraphs or list items that continues over one page of the book, for example) and edge-case-only templates are needed, which adds even more complexity.
Benefits (why should this be implemented?):
It is an easy and straightforward way to apply styling to complex texts, without resorting to templates.
Also, it can be used in other projects. For example, to style some Wikibook, or a Wikiversity course, without resorting to a set of ad-hoc templates for each project.
And finally, it can help to make our texts more semantically accurate.