At line 180 changed one line |
Syntax: How about using a simplified version of LaTeX? I'm mixing this kind of syntax with Creole in my wiki and it works really well. Advantages: It's established, many people know how to read and write it. |
Syntax: How about using a simplified version of ~LaTeX? I'm mixing this kind of syntax with Creole in my wiki and it works really well. Advantages: It's established, many people know how to read and write it. |
At line 186 added 2 lines |
\begin{environment} |
\end{environment} |
At line 190 added 2 lines |
BTW: The way I currently parse my hybrid syntax is that the braces are dominant and inside a brace (as well as at the top level) you can have line-based Creole syntax. |
|
At line 193 added 89 lines |
|
Axel, I don't quite understand, //how// do you want to mix it? Personally to me ~LaTex is a complicated markup language which I don't understand. I understand CSS, so for unlimited formatting, CSS would be my choice. Very personal and no poll! I am not opposed to making sure that a wiki could be in a mixed ~LaTex mode; that will certainly be very useful. But how do you achieve that? Do you propose to make single backslash a reserved Creole character? How is the end of the LaTex inline span defined? A new-line-character? |
|
-- [[Gregor Hagedorn]], 2007-04-11 |
|
It is not LaTeX per se, I only borrowed (a subset of) its syntax. |
|
My motivation is as follows: While line-based wiki markup is great for the basics (bold, italics, lists, tables), one runs quickly out of symbols. For more complex things, I thus would want my syntax to be extensible. That is: there should be commands with parameters etc. My understanding of this proposal is that if we standardize the command syntax (not the command names), then at the very least we have a generic way of hiding additional markup. At best, we might even have exchangeable quite complex markup. |
|
As for understanding LaTeX: I've listed all relevant constructs above. I would not introduce anything more complex than this. I like the syntax because it is versatile, flexible and (at least some) people know of it. Furthermore, there are some Wiki extensions for typesetting math that use LaTeX. These would blend in naturally with a LaTeX command syntax. One problem might arise for Windows user, though: they might need the backslash for paths (as I'm only using Linux + Mac OS, I'm not sure how much of a problem this is). |
|
In my implementation, both backslash and a single closed brace are protected characters. LaTeX (which can nest text blocks) is "dominant" while wiki markup (which is line-based) is parsed inside a text block. If you don't use any LaTeX at all, you are in the "global text block" and can use Creole as you'd expect. |
|
-- [[Axel Rauschmayer]], 2007-04-11 |
|
AvoidTextTags, ReadableMarkup, EasyToLearn and other [[Good Practices]]. Then there is a problem of those who know LaTeX and would be surprised that their favorite construct (whatever it is) doesn't work, or work in a different way than in LaTeX. And of course, why don't you just use LaTeX everywhere in the first place? You can easily make some small macros for wiki links. No reason to ReinventTheWheel. |
|
-- [[Radomir Dopieralski]], 2007-Apr-11 |
|
Just to be sure: The generic extension proposal is essentially about text tags, right (or at least highly related)? I do want both: text tags and wiki markup. For basic things, I want the comfort and WYSIWYG-iness of wiki markup, for more complicated things, having a small semi-formal markup language is really helpful. So: having latex commands is a high-level feature that most users will rarely be confronted with. But for more complicated features, having text tags is actually **more** user-friendly. Example: Defining complex tables in Mediawiki is painful (I cannot remember the markup without looking it up, even for relatively simple tables), doing it in HTML is OK. As soon as wiki markup is hard to remember, I'd rather have text tags that are easy to remember. |
|
The "don't surprise the LaTeX users" criticism is valid. |
|
-- [[Axel Rauschmayer]], 2007-04-12 |
|
Design guidance rules like [[Avoid Text Tags]] needs to be balanced against each other. 20 punctuation combinations as suggested in [[Hints on extending]] are not [[Easy To Learn]]. At some point text tags have an advantage. I know no Wiki which does NOT use a fair number of text tags, at least for the essential dynamic "plugins". |
|
-- [[Gregor Hagedorn]], 2007-04-13 |
|
You are both right. It's perfectly valid to use text tags and an easy to remember formal language, preferably one that can be read out loud (to dictate it over a phone, for instance) -- once the markup becomes more complicated than just few simple text-formatting rules. Creole should **not** be that complicated -- by definition. |
|
There are separate standards and markup languages that handle the more advanced things -- and they can be easily mixed with Creole. |
|
As for the GenericExtensionProposal and its "text-taggedness" -- it's like arguing that the links or images are also text tags, because you need to put text in them. Note however, that this text is not defined in Creole in any way, and hence polish wiki sites can use Polish text. |
|
-- [[Radomir Dopieralski]], 2007-Apr-16 |
|
I need to be able to embed large amounts of data in plugins (source code), without interpreting any |
double-greaterthan as the plugin end marker. I suggest that if {{{<<}}} is on a line alone, the end |
marker must be {{{>>}}} on a line alone; otherwise, the next {{{>>}}} is the end marker. That's |
similar to the difference between nowiki and block preformatted. |
|
Any support or disagreement? |
|
-- [[YvesPiguet]], 2007-May-30 |
|
I think it's reasonable, especially when the ">>" is much rarer alone on a line. You could also use the difference to decide whether render the plugin result in a div or span. |
|
-- [[RadomirDopieralski]], 2007-May-30 |
|
YEP - need a generic extension proposal. Firstly a triple bracket like, { { { .... } } } and {{{[[[ quote ]]] }}} as I'm suggesting for a [[Quoting|quotes]] implies that the content between the brackets is not parsed normally by the creole parser. |
*{ { { - everything is accepted |
*{{{[ [ [}}} - only formatting is parsed, whitespaces and newlines are displayed as is. |
*{{{<<<}}} - nothing in the brackets is part of the specification, except to say that the application must interpret it and/or reject it. |
|
However, humans being humans, people are going to want to introduce their own code into Creole for those little things like font colours, sizes, table borders etc. etc. |
|
If {{{<<< ....>>>}}} means "You've got to be kidding Creole doesn't have anything to say about text between those brakets. |
|
{{{<<SOMETHING>>}}} might mean "not sure about that" and be reserved for an optional extension to the specification such as text colours. |
More specifically:- |
|
{{{<<#ABCDE#>>}}} would have the meaning "optional code #ABCDE#" |
|
-- [[Isonomia]] May 2008 |
|
I am personally against using {{{<< ... >>}}} for Plugins. My main reason is that the double-angle-brackets are operators in this world (think C/C++/Java etc.) |
|
Plugins should use the most rare syntax in order to allow a greater number of character combinations to be placed inside (as parameters). If {{{<< ... >>}}} is used, the content between the brackets would not be able to use {{{>>}}}, making it impossible to use with C code inside. Well, escaping could be done for each {{{>>}}} but that would be tedious and would complicate the parser (not sure if escaping should even be possible inside the brackets for a plugin). |
|
-- Mircea Bardac, August 2008 |
|
Do you have any example of such a plugin that accepts C code in it in any real wiki out there, or uses "{{{>>}}}" for other purposes? |
|
The only thing that comes to my mind is syntax highlighting, but that could be built into the preformatted blocks. |
|
-- RadomirDopieralski, 6 September 2008 |
|
I do not have an example of a plugin that accepts C code. All the C code I have seen was rendered in preformatted blocks, as you have mentioned. Then again, I haven't seen any wiki having a "plugin" markup. |
|
I am considering using Creole and extending it in order to be able to custom render blocks. By "custom rendering" I mean <render this block only if "condition" is true>. These blocks can contain anything, including {{{<<}}}. |
|
Also, how would someone build a "preformatted block with syntax highlight/line numbering" in Creole?. I am thinking that {{{<<syntax=C ...>>}}} could be used for this, because there is no support in the default markup. That means the contents of the tag would have to be somehow escaped if {{{<<}}} is in the block. |
|
This is the main reason for trying to have something as uncommon as possible for the Plugin markup. You can't know exactly what needs to be passed to a plugin and the plugin markup should be as uncommon as possible (maybe even more verbose). This is probably one of the problems for HTML templating systems. There will always be conflicts and escaping would be needed, but I guess the need for this could be decreased. |
|
As for the implementation, I believe it should be like a block markup ([[HintsOnExtending]]) to cover all possible uses of the Plugin. The 3-characters block markup would also decrease the chance of collisions. I think the specification should also include a way of defining the plugin name inside the markup - would definitely help the developer and make the plugin markup look clean across implementations - maybe something like {{{$$$plugin:...$$$}}} - $ was chosen randomly from the list. |
|
-- Mircea Bardac, 7 September 2008 |