It can be quite annoying when an application claims to support an API and actually doesn’t 🙁
I’ve been working on BlogThing off an on for about a week or so. Originally I used a bit of the metaWeblog API and a bit of the MovableType API. I’ve since standardized on metaWeblog and removed the references to MovableType. 🙂
Now, I’ve successfully tested BlogThing against WordPress and Typo however, Blojsom, while it claims to support the metaWeblog API it soon becomes apparent that this is not the case 🙁
Accessing the string and attribute data in a NSTextView
NSTextView stores its data in a NSTextStorage object. NSTextStorage descends from NSMutableAttributed string, so that gives us a clue.
The easiest thing to do is to make a category on the NSAttributedString class to do whatever it is you want containing something like the following.
NSRange range;
int i;
int L = [self length];
i = 0;
while(i<L) {
// get all the attributes we are interested in
NSDictionary* attributes = [self attributesAtIndex: i effectiveRange: &range];
NSAttributedString* attPart = [self attributedSubstringFromRange: range];
NSString* part = [attPart string];
NSFont* font = [attributes objectForKey: NSFontAttributeName];
NSColor* color = [attributes objectForKey: @”NSColor”];
NSParagraphStyle* paraStyle = [attributes objectForKey: NSParagraphStyleAttributeName];
NSShadow* shadow = [attributes objectForKey: NSShadowAttributeName];
NSURL* link = [attributes objectForKey: NSLinkAttributeName];
NSTextAttachment* attachment = [attributes objectForKey: NSAttachmentAttributeName];
// process your attributed string pieces here
i = range.location+range.length;
}
I’ve just added automatic image resizing to my blog client
It’s all very exciting 🙂
Here is an example of an auto-resized images
I’ve also added code to automatically recognize URLs in the text and convert them to links.
For example http://www.automagic-software.com/