Well, I overcame this problem by converting braces to entities on save. TW
still correctly reads them as braces and properly applies the class.
w
On Saturday, September 6, 2014 7:47:52 PM UTC+2, whatever wrote:
>
> Hi!
> Yes, that works.:D However, I came across an issue when using this inside
> a macro. Namely, I generate a table and if I use {{someClass{text}}} in a
> cell, it must either be at the beginning or it must be preceeded by a
> character. If it's preceeded by a space, I get an error:
> Error while executing macro infobox:
> Unable to evaluate {{InfoboxNoValueWarning{Item}}: SyntaxError: missing ;
> before statement
>
> Any ideas what might be causing this?
> I set up a test (1).
>
> (1) http://infoboxestest.tiddlyspot.com/
>
> w
>
> On Friday, September 5, 2014 11:12:50 PM UTC+2, Eric Shulman wrote:
>>
>> On Friday, September 5, 2014 8:57:27 AM UTC-7, whatever wrote:
>>>
>>> I'm trying to mix HTML and markup using HTMLFormattingPlugin (1). It
>>> works, however, it breaks a bit when using markup lists like the following:
>>>
>>> <html>test1<br>Unordered list<br>*<span class='dummy'>Item</span> A -
>>> span class<br>*<b>Item</b> B - b tag<br>*<span style='font-weight:
>>> bold;'>Item</span> C - span style<br>* {{dummy{Item}}} D -
>>> class<br>*''Item'' E - markup<br>*@@font-weight:bold;Item@@ F -
>>> style<br><ul><li>Item G</li><li>Item H</li></ul></html>
>>>
>>> Here, there is a line break between the bullet and items A, B and C and
>>> a line break after. Items D, E and F are shown on the same line as the
>>> bullets, but they are followed by two empty lines. If I omit the asterisks,
>>> the items are shown in consecutive lines. Items G and H are always shown
>>> correctly.
>>>
>>
>> TiddlyTools' HTMLFormattingPlugin works by first parsing the entire
>> <html>...</html> block using the browser's built-in HTML rendering engine.
>> This produces output that is a tree of DOM elements (such as BR and SPAN),
>> some of which contain TEXT elements holding the non-HTML content (e.g.,
>> "test1", "Unordered list", "*"). Then, the plugin recursively 'walks' this
>> DOM tree, and applies the TWCore wikify() function to each separate text
>> element that it finds.
>>
>> The problem is that, once the HTML has been processed, the individual
>> sequences of embedded wiki syntax are then isolated into separate TEXT
>> elements and are processed separately from each other. Thus, for list
>> items A, B and C, the "*" that appears between the <br> and the following
>> <span> (or <b>) element, is processed as a single bullet item with no text
>> following it, resulting in just a bullet on a line by itself. Similarly,
>> although the bullets for items D, E, and F are not separated from the text
>> that follows, each individual bullet+text item is treated an entire
>> separate bullet list with just one item. By default, bullet lists are
>> surrounded by whitespace both before and after the list itself. Thus, each
>> "one item bullet list" has space above/below it. In addition, you
>> specified an explicit <br> following each bullet item, so the whitespace is
>> even larger between items.
>>
>> Fortunately, you can use CSS to fix ALL of this....
>>
>> Add this to your StyleSheet:
>> .myclass ul { margin-top:0; margin-bottom:0; display:inline-block; }
>>
>> The first two rules (margin-top and margin-bottom) eliminate the extra
>> whitesapce before/after each bullet list. The third rule
>> (display:inline-block) prevents each bullet list from forcing content
>> following it to start on a new line. This makes it appear that items A, B,
>> and C appear as proper bullets with text following, rather than separate
>> bullet lists, each with *with no content*, followed by the item content
>> text on the *next line*.
>>
>> Note the use of the ".myclass" in the CSS selector. This limits the
>> application of the rule to ONLY those bullet lists that occur inside a
>> "myclass" container, so that other "normal" bullet lists are unaffected.
>> To apply this CSS to your example content, you would wrap the entire HTML
>> block within a wiki syntax CSS class wrapper, like this:
>> {{myclass{<html>....</html>}}}
>>
>> Also note that this only works as intended because you already have
>> specified explicit <br>'s between each bullet item definition. Without
>> those <br>'s, the bullet items would all run into a single line, except for
>> items G and H, which are defined as two <li> elements within a single <ul>,
>> where the line break between those items is handled by the <li> rendering
>> itself.
>>
>> enjoy,
>> -e
>> Eric Shulman
>> TiddlyTools / ELS Design Studios
>>
>> YOUR DONATIONS ARE VERY IMPORTANT!
>> HELP ME TO HELP YOU - MAKE A CONTRIBUTION TO MY "TIP JAR"...
>> http://TiddlyTools.github.com/fundraising.html#MakeADonation
>>
>> Professional TiddlyWiki Consulting Services...
>> Analysis, Design, and Custom Solutions:
>> http://www.TiddlyTools.com/#Contact
>>
>
--
You received this message because you are subscribed to the Google Groups
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/tiddlywiki.
For more options, visit https://groups.google.com/d/optout.