gshaviv/DTCoreText — comment on commit 6e8ae6cd34b67a2a72f906508b0cd7b59fb176fa
File:  line 0
By Cocoanetics:

Ok, I added a property to pass your own block to. I made it a block as opposed to a delegate callback because this is more efficient as the block gets executed on the string building GCD queue.

example:

DTHTMLAttributedStringBuilder	*stringBuilder = [[DTHTMLAttributedStringBuilder alloc] initWithHTML:data options:options documentAttributes:dict];

[stringBuilder setWillFlushCallback:^(DTHTMLElement *element) { NSLog(@"%@", element.tagName); } ];

[stringBuilder buildString];

return [stringBuilder generatedAttributedString];

Am Jan 27, 2012 um 3:45 PM schrieb gshaviv:

> I would need the entire DTHTMLElement. I do look at the current style,
> hyphenation doesn't look good on left justified text, but is essential
> to fully justified text. Going the delegate way would be good as I
> wouldn't need even to override the parser creation or subclass it,
> though subclassing it enables no overhead when there is no delegate (
> though having a null delegate probably doesn't add any significant
> overhead).
>
> Guy
>
> On 27 בינו 2012, at 16:39, Oliver Drobnik
>
> wrote:
>
>> Right now it only passes the string inside the tag. If you need more information about the currently processed tag then we can change that into a block or delegate method that passes the current DTHTMLElement with the current text in the .text property.
>>
>> But I figured you might want to use hyphenation regardless of the text alignment, so I kept it as that for the time being.
>>
>> I just want you to be able to have the faster master as your base to save you some work on having to adjust my code all the time.
>>
>> cheers
>> Oliver
>>
>>
>> Am Jan 27, 2012 um 3:32 PM schrieb gshaviv:
>>
>>> Gee, thanks. Sounds cool. I'll take a look at it.
>>>
>>> Guy
>>>
>>> I understand quickly when things are explained to me slowly...
>>>
>>>
>>>
>>> On Jan 27, 2012, at 16:29 , Oliver Drobnik wrote:
>>>
>>>> I merged the parse blocks branch now back into master and "just for you" I implemented a method that you could override in a DTHTMLAttributedStringBuilder subclass: -(void)flushCurrentTagContent:(NSString *)tagContent
>>>>
>>>> this gives you a possibility to run the hyphenation on tagContent and then call super. This flushing occurs every time a tag begins or ends and aggregates tag contents until either of these. Therefore this also works if you have HTML entities inside of words.
>>>>
>>>> 0d2a8b463a5555b3a9dc8b6a9e0777ad4d58b4e6
>>>>
>>>> ---
>>>> Reply to this email directly or view it on GitHub:
>>>> https://github.com/gshaviv/DTCoreText/commit/6e8ae6cd34b67a2a72f906508b0cd7b59fb176fa#commitcomment-908230
>>>
>>> ---
>>> Reply to this email directly or view it on GitHub:
>>> https://github.com/gshaviv/DTCoreText/commit/6e8ae6cd34b67a2a72f906508b0cd7b59fb176fa#commitcomment-908235
>>
>> ---
>> Reply to this email directly or view it on GitHub:
>> https://github.com/gshaviv/DTCoreText/commit/6e8ae6cd34b67a2a72f906508b0cd7b59fb176fa#commitcomment-908255
>
> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/gshaviv/DTCoreText/commit/6e8ae6cd34b67a2a72f906508b0cd7b59fb176fa#commitcomment-908277