mirror of
https://github.com/Ranchero-Software/NetNewsWire.git
synced 2024-12-23 16:20:53 +01:00
98 lines
2.9 KiB
C
98 lines
2.9 KiB
C
|
//
|
||
|
// RSHTMLMetadata.h
|
||
|
// RSParser
|
||
|
//
|
||
|
// Created by Brent Simmons on 3/6/16.
|
||
|
// Copyright © 2016 Ranchero Software, LLC. All rights reserved.
|
||
|
//
|
||
|
|
||
|
@import Foundation;
|
||
|
@import CoreGraphics;
|
||
|
|
||
|
@class RSHTMLMetadataFeedLink;
|
||
|
@class RSHTMLMetadataAppleTouchIcon;
|
||
|
@class RSHTMLMetadataFavicon;
|
||
|
@class RSHTMLOpenGraphProperties;
|
||
|
@class RSHTMLOpenGraphImage;
|
||
|
@class RSHTMLTag;
|
||
|
@class RSHTMLTwitterProperties;
|
||
|
|
||
|
NS_ASSUME_NONNULL_BEGIN
|
||
|
|
||
|
@interface RSHTMLMetadata : NSObject
|
||
|
|
||
|
- (instancetype)initWithURLString:(NSString *)urlString tags:(NSArray <RSHTMLTag *> *)tags;
|
||
|
|
||
|
@property (nonatomic, readonly) NSString *baseURLString;
|
||
|
@property (nonatomic, readonly) NSArray <RSHTMLTag *> *tags;
|
||
|
|
||
|
@property (nonatomic, readonly) NSArray <NSString *> *faviconLinks DEPRECATED_MSG_ATTRIBUTE("Use the favicons property instead.");
|
||
|
@property (nonatomic, readonly) NSArray <RSHTMLMetadataFavicon *> *favicons;
|
||
|
@property (nonatomic, readonly) NSArray <RSHTMLMetadataAppleTouchIcon *> *appleTouchIcons;
|
||
|
@property (nonatomic, readonly) NSArray <RSHTMLMetadataFeedLink *> *feedLinks;
|
||
|
|
||
|
@property (nonatomic, readonly) RSHTMLOpenGraphProperties *openGraphProperties;
|
||
|
@property (nonatomic, readonly) RSHTMLTwitterProperties *twitterProperties;
|
||
|
|
||
|
@end
|
||
|
|
||
|
|
||
|
@interface RSHTMLMetadataAppleTouchIcon : NSObject
|
||
|
|
||
|
@property (nonatomic, readonly) NSString *rel;
|
||
|
@property (nonatomic, nullable, readonly) NSString *sizes;
|
||
|
@property (nonatomic, readonly) CGSize size;
|
||
|
@property (nonatomic, nullable, readonly) NSString *urlString; // Absolute.
|
||
|
|
||
|
@end
|
||
|
|
||
|
|
||
|
@interface RSHTMLMetadataFeedLink : NSObject
|
||
|
|
||
|
@property (nonatomic, nullable, readonly) NSString *title;
|
||
|
@property (nonatomic, nullable, readonly) NSString *type;
|
||
|
@property (nonatomic, nullable, readonly) NSString *urlString; // Absolute.
|
||
|
|
||
|
@end
|
||
|
|
||
|
@interface RSHTMLMetadataFavicon : NSObject
|
||
|
|
||
|
@property (nonatomic, nullable, readonly) NSString *type;
|
||
|
@property (nonatomic, nullable, readonly) NSString *urlString;
|
||
|
|
||
|
@end
|
||
|
|
||
|
@interface RSHTMLOpenGraphProperties : NSObject
|
||
|
|
||
|
// TODO: the rest. At this writing (Nov. 26, 2017) I just care about og:image.
|
||
|
// See http://ogp.me/
|
||
|
|
||
|
- (instancetype)initWithURLString:(NSString *)urlString tags:(NSArray <RSHTMLTag *> *)tags;
|
||
|
|
||
|
@property (nonatomic, readonly) NSArray <RSHTMLOpenGraphImage *> *images;
|
||
|
|
||
|
@end
|
||
|
|
||
|
@interface RSHTMLOpenGraphImage : NSObject
|
||
|
|
||
|
@property (nonatomic, nullable, readonly) NSString *url;
|
||
|
@property (nonatomic, nullable, readonly) NSString *secureURL;
|
||
|
@property (nonatomic, nullable, readonly) NSString *mimeType;
|
||
|
@property (nonatomic, readonly) CGFloat width;
|
||
|
@property (nonatomic, readonly) CGFloat height;
|
||
|
@property (nonatomic, nullable, readonly) NSString *altText;
|
||
|
|
||
|
@end
|
||
|
|
||
|
@interface RSHTMLTwitterProperties : NSObject
|
||
|
|
||
|
// TODO: the rest. At this writing (Nov. 26, 2017) I just care about twitter:image:src.
|
||
|
|
||
|
- (instancetype)initWithURLString:(NSString *)urlString tags:(NSArray <RSHTMLTag *> *)tags;
|
||
|
|
||
|
@property (nonatomic, nullable, readonly) NSString *imageURL; // twitter:image:src
|
||
|
|
||
|
@end
|
||
|
|
||
|
NS_ASSUME_NONNULL_END
|