Skip to content

Commit 70eeecb

Browse files
committed
Merge branch 'release/3.0.0'
2 parents d756fc4 + 918c59e commit 70eeecb

27 files changed

Lines changed: 195 additions & 109 deletions

.jazzy.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
module: HTMLKit
2-
module_version: 2.1.5
2+
module_version: 3.0.0
33
author: Iskandar Abudiab
44
author_url: https://twitter.com/iabudiab
55
github_url: https://github.com/iabudiab/HTMLKit

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
# Change Log
22

3+
## [3.0.0](https://github.com/iabudiab/HTMLKit/releases/tag/3.0.0)
4+
5+
Released on 2019.03.28
6+
7+
### Breaking Change
8+
9+
- Introduce prefix for `NSString` and `NSCharacterSet` categories to prevent collision with existing code (issue #35)
10+
11+
312
## [2.1.5](https://github.com/iabudiab/HTMLKit/releases/tag/2.1.5)
413

514
Released on 2018.07.16

HTMLKit.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = "HTMLKit"
3-
s.version = "2.1.5"
3+
s.version = "3.0.0"
44
s.summary = "HTMLKit, an Objective-C framework for your everyday HTML needs."
55
s.license = "MIT"
66
s.homepage = "https://github.com/iabudiab/HTMLKit"

HTMLKit.xcodeproj/project.pbxproj

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,18 @@
5858
625A14B019C7829400AD0C32 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 625A14AF19C7829400AD0C32 /* Cocoa.framework */; };
5959
625A14C519C7829400AD0C32 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 625A14C419C7829400AD0C32 /* XCTest.framework */; };
6060
625A14C919C7829400AD0C32 /* HTMLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 625A14AC19C7829400AD0C32 /* HTMLKit.framework */; };
61+
625A67C9224AC62C00C6D57D /* NSString+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 625A67C7224AC62C00C6D57D /* NSString+Private.h */; settings = {ATTRIBUTES = (Private, ); }; };
62+
625A67CA224AC62C00C6D57D /* NSString+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 625A67C7224AC62C00C6D57D /* NSString+Private.h */; settings = {ATTRIBUTES = (Private, ); }; };
63+
625A67CB224AC62C00C6D57D /* NSString+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 625A67C7224AC62C00C6D57D /* NSString+Private.h */; settings = {ATTRIBUTES = (Private, ); }; };
64+
625A67CC224AC62C00C6D57D /* NSString+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 625A67C7224AC62C00C6D57D /* NSString+Private.h */; settings = {ATTRIBUTES = (Private, ); }; };
65+
625A67CD224AC62C00C6D57D /* NSString+Private.m in Sources */ = {isa = PBXBuildFile; fileRef = 625A67C8224AC62C00C6D57D /* NSString+Private.m */; };
66+
625A67CE224AC62C00C6D57D /* NSString+Private.m in Sources */ = {isa = PBXBuildFile; fileRef = 625A67C8224AC62C00C6D57D /* NSString+Private.m */; };
67+
625A67CF224AC62C00C6D57D /* NSString+Private.m in Sources */ = {isa = PBXBuildFile; fileRef = 625A67C8224AC62C00C6D57D /* NSString+Private.m */; };
68+
625A67D0224AC62C00C6D57D /* NSString+Private.m in Sources */ = {isa = PBXBuildFile; fileRef = 625A67C8224AC62C00C6D57D /* NSString+Private.m */; };
69+
625A67D2224ADC7700C6D57D /* HTMLQuircksMode.m in Sources */ = {isa = PBXBuildFile; fileRef = 625A67D1224ADC7700C6D57D /* HTMLQuircksMode.m */; };
70+
625A67D3224ADC7700C6D57D /* HTMLQuircksMode.m in Sources */ = {isa = PBXBuildFile; fileRef = 625A67D1224ADC7700C6D57D /* HTMLQuircksMode.m */; };
71+
625A67D4224ADC7700C6D57D /* HTMLQuircksMode.m in Sources */ = {isa = PBXBuildFile; fileRef = 625A67D1224ADC7700C6D57D /* HTMLQuircksMode.m */; };
72+
625A67D5224ADC7700C6D57D /* HTMLQuircksMode.m in Sources */ = {isa = PBXBuildFile; fileRef = 625A67D1224ADC7700C6D57D /* HTMLQuircksMode.m */; };
6173
625D0F031C2717DE00D7BEB0 /* HTMLNode+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 625D0F011C2717DE00D7BEB0 /* HTMLNode+Private.h */; settings = {ATTRIBUTES = (Private, ); }; };
6274
625D0F041C2717DE00D7BEB0 /* HTMLNode+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 625D0F011C2717DE00D7BEB0 /* HTMLNode+Private.h */; settings = {ATTRIBUTES = (Private, ); }; };
6375
625EE4571CBAA41D00F2CC8E /* HTMLKitTestObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = 625EE4561CBAA41D00F2CC8E /* HTMLKitTestObserver.m */; };
@@ -692,6 +704,9 @@
692704
625A14DF19C7834100AD0C32 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
693705
625A150619C78ABA00AD0C32 /* HTMLInputStreamReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTMLInputStreamReader.h; path = include/HTMLInputStreamReader.h; sourceTree = "<group>"; };
694706
625A150719C78ABA00AD0C32 /* HTMLInputStreamReader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLInputStreamReader.m; sourceTree = "<group>"; };
707+
625A67C7224AC62C00C6D57D /* NSString+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "NSString+Private.h"; path = "include/NSString+Private.h"; sourceTree = "<group>"; };
708+
625A67C8224AC62C00C6D57D /* NSString+Private.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSString+Private.m"; sourceTree = "<group>"; };
709+
625A67D1224ADC7700C6D57D /* HTMLQuircksMode.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HTMLQuircksMode.m; sourceTree = "<group>"; };
695710
625D0F011C2717DE00D7BEB0 /* HTMLNode+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "HTMLNode+Private.h"; path = "include/HTMLNode+Private.h"; sourceTree = "<group>"; };
696711
625EE4551CBAA41D00F2CC8E /* HTMLKitTestObserver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTMLKitTestObserver.h; path = HTMLKitTests/HTMLKitTestObserver.h; sourceTree = "<group>"; };
697712
625EE4561CBAA41D00F2CC8E /* HTMLKitTestObserver.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HTMLKitTestObserver.m; path = HTMLKitTests/HTMLKitTestObserver.m; sourceTree = "<group>"; };
@@ -872,6 +887,7 @@
872887
6238C9841AB8D6330006512E /* HTMLKitDOMExceptions.m */,
873888
628B7CE61A080E1000602C87 /* HTMLNamespaces.h */,
874889
623719431AA12EE8002E03C8 /* HTMLQuirksMode.h */,
890+
625A67D1224ADC7700C6D57D /* HTMLQuircksMode.m */,
875891
625D0F071C2717E400D7BEB0 /* Private */,
876892
);
877893
name = DOM;
@@ -1055,6 +1071,8 @@
10551071
628E16ED1ADAE73700B15A06 /* Categories */ = {
10561072
isa = PBXGroup;
10571073
children = (
1074+
625A67C7224AC62C00C6D57D /* NSString+Private.h */,
1075+
625A67C8224AC62C00C6D57D /* NSString+Private.m */,
10581076
6235CE991AA509430026937B /* NSString+HTMLKit.h */,
10591077
6235CE9A1AA509430026937B /* NSString+HTMLKit.m */,
10601078
624B28C21B04190D0048D328 /* NSCharacterSet+HTMLKit.h */,
@@ -1189,6 +1207,7 @@
11891207
62ECBEEA1C0B69FD00AF847B /* HTMLCommentToken.h in Headers */,
11901208
62ECBEEB1C0B69FD00AF847B /* HTMLDOCTYPEToken.h in Headers */,
11911209
626BE1E21DF3819500C49514 /* HTMLDOMUtils.h in Headers */,
1210+
625A67C9224AC62C00C6D57D /* NSString+Private.h in Headers */,
11921211
62ECBEEC1C0B69FD00AF847B /* HTMLParseErrorToken.h in Headers */,
11931212
62ECBEED1C0B69FD00AF847B /* HTMLTagToken.h in Headers */,
11941213
62ECBEEE1C0B69FD00AF847B /* HTMLEOFToken.h in Headers */,
@@ -1262,6 +1281,7 @@
12621281
62857C841D398917008DC254 /* HTMLParser.h in Headers */,
12631282
62857CDB1D3989CE008DC254 /* CSSAttributeSelector.h in Headers */,
12641283
62857C791D398907008DC254 /* HTMLEOFToken.h in Headers */,
1284+
625A67CC224AC62C00C6D57D /* NSString+Private.h in Headers */,
12651285
626BE1E51DF3819500C49514 /* HTMLDOMUtils.h in Headers */,
12661286
62857CC41D3989A9008DC254 /* CSSSelectors.h in Headers */,
12671287
62857C731D398907008DC254 /* HTMLToken.h in Headers */,
@@ -1335,6 +1355,7 @@
13351355
62857D4E1D39A40A008DC254 /* HTMLTokenizerCharacters.h in Headers */,
13361356
62857D4D1D39A40A008DC254 /* HTMLTokenizerStates.h in Headers */,
13371357
62857D501D39A411008DC254 /* HTMLTokens.h in Headers */,
1358+
625A67CB224AC62C00C6D57D /* NSString+Private.h in Headers */,
13381359
626BE1E41DF3819500C49514 /* HTMLDOMUtils.h in Headers */,
13391360
62857D7B1D39A452008DC254 /* HTMLNamespaces.h in Headers */,
13401361
62857D581D39A416008DC254 /* HTMLParser.h in Headers */,
@@ -1408,6 +1429,7 @@
14081429
62ECBFAF1C0B6D3B00AF847B /* HTMLNodeIterator.h in Headers */,
14091430
62ECBFB01C0B6D3C00AF847B /* HTMLTreeWalker.h in Headers */,
14101431
62ECBFB21C0B6D3C00AF847B /* HTMLNodeFilter.h in Headers */,
1432+
625A67CA224AC62C00C6D57D /* NSString+Private.h in Headers */,
14111433
62567F511C0CB5750025D458 /* HTMLDOMTokenList.h in Headers */,
14121434
62ECBFB31C0B6D3C00AF847B /* HTMLKitDOMExceptions.h in Headers */,
14131435
62ECBFB41C0B6D3D00AF847B /* HTMLNamespaces.h in Headers */,
@@ -1730,6 +1752,7 @@
17301752
62ECBF2A1C0B6B7900AF847B /* HTMLNode.m in Sources */,
17311753
62ECBF2B1C0B6B7900AF847B /* HTMLDocument.m in Sources */,
17321754
62ECBF2C1C0B6B7900AF847B /* HTMLDocumentType.m in Sources */,
1755+
625A67D2224ADC7700C6D57D /* HTMLQuircksMode.m in Sources */,
17331756
62ECBF2D1C0B6B7900AF847B /* HTMLDocumentFragment.m in Sources */,
17341757
62ECBF2E1C0B6B7900AF847B /* HTMLElement.m in Sources */,
17351758
62ECBF2F1C0B6B7900AF847B /* HTMLComment.m in Sources */,
@@ -1748,6 +1771,7 @@
17481771
62ECBF3C1C0B6B7900AF847B /* CSSInputStream.m in Sources */,
17491772
62ECBF3D1C0B6B7900AF847B /* CSSSelectorParser.m in Sources */,
17501773
62ECBF3E1C0B6B7900AF847B /* CSSNthExpressionParser.m in Sources */,
1774+
625A67CD224AC62C00C6D57D /* NSString+Private.m in Sources */,
17511775
62ECBF3F1C0B6B7900AF847B /* CSSSelector.m in Sources */,
17521776
62ECBF401C0B6B7900AF847B /* CSSSelectorBlock.m in Sources */,
17531777
62ECBF411C0B6B7900AF847B /* CSSTypeSelector.m in Sources */,
@@ -1820,6 +1844,7 @@
18201844
62857C811D398912008DC254 /* HTMLParseErrorToken.m in Sources */,
18211845
62857CD21D3989B8008DC254 /* CSSCombinatorSelector.m in Sources */,
18221846
62857CB91D398992008DC254 /* HTMLNodeIterator.m in Sources */,
1847+
625A67D5224ADC7700C6D57D /* HTMLQuircksMode.m in Sources */,
18231848
62857CCF1D3989B8008DC254 /* CSSPseudoClassSelector.m in Sources */,
18241849
62857C7A1D398912008DC254 /* HTMLInputStreamReader.m in Sources */,
18251850
62857CC11D39899C008DC254 /* NSCharacterSet+HTMLKit.m in Sources */,
@@ -1838,6 +1863,7 @@
18381863
62857CBC1D398992008DC254 /* HTMLNodeFilter.m in Sources */,
18391864
62857CC01D39899C008DC254 /* NSString+HTMLKit.m in Sources */,
18401865
62857CCA1D3989B8008DC254 /* CSSInputStream.m in Sources */,
1866+
625A67D0224AC62C00C6D57D /* NSString+Private.m in Sources */,
18411867
62857CCE1D3989B8008DC254 /* CSSAttributeSelector.m in Sources */,
18421868
62857CC31D3989A3008DC254 /* HTMLOrderedDictionary.m in Sources */,
18431869
62857CC91D3989B8008DC254 /* CSSNthExpressionParser.m in Sources */,
@@ -1875,6 +1901,7 @@
18751901
62857D0F1D39A32A008DC254 /* HTMLNode.m in Sources */,
18761902
62857D2C1D39A334008DC254 /* CSSCombinatorSelector.m in Sources */,
18771903
62857D181D39A32A008DC254 /* HTMLNodeIterator.m in Sources */,
1904+
625A67D4224ADC7700C6D57D /* HTMLQuircksMode.m in Sources */,
18781905
62857D291D39A334008DC254 /* CSSPseudoClassSelector.m in Sources */,
18791906
62857D011D39A324008DC254 /* HTMLInputStreamReader.m in Sources */,
18801907
62857D1E1D39A334008DC254 /* NSCharacterSet+HTMLKit.m in Sources */,
@@ -1893,6 +1920,7 @@
18931920
62857D1B1D39A32A008DC254 /* HTMLNodeFilter.m in Sources */,
18941921
62857D1D1D39A334008DC254 /* NSString+HTMLKit.m in Sources */,
18951922
62857D241D39A334008DC254 /* CSSInputStream.m in Sources */,
1923+
625A67CF224AC62C00C6D57D /* NSString+Private.m in Sources */,
18961924
62857D281D39A334008DC254 /* CSSAttributeSelector.m in Sources */,
18971925
62857D1F1D39A334008DC254 /* HTMLOrderedDictionary.m in Sources */,
18981926
62857D231D39A334008DC254 /* CSSNthExpressionParser.m in Sources */,
@@ -1965,6 +1993,7 @@
19651993
62ECBF721C0B6D2A00AF847B /* HTMLNode.m in Sources */,
19661994
62ECBF731C0B6D2A00AF847B /* HTMLDocument.m in Sources */,
19671995
62ECBF741C0B6D2A00AF847B /* HTMLDocumentType.m in Sources */,
1996+
625A67D3224ADC7700C6D57D /* HTMLQuircksMode.m in Sources */,
19681997
62ECBF751C0B6D2A00AF847B /* HTMLDocumentFragment.m in Sources */,
19691998
62ECBF761C0B6D2A00AF847B /* HTMLElement.m in Sources */,
19701999
62ECBF771C0B6D2A00AF847B /* HTMLComment.m in Sources */,
@@ -1983,6 +2012,7 @@
19832012
62ECBF841C0B6D2A00AF847B /* CSSInputStream.m in Sources */,
19842013
62ECBF851C0B6D2A00AF847B /* CSSSelectorParser.m in Sources */,
19852014
62ECBF861C0B6D2A00AF847B /* CSSNthExpressionParser.m in Sources */,
2015+
625A67CE224AC62C00C6D57D /* NSString+Private.m in Sources */,
19862016
62ECBF871C0B6D2A00AF847B /* CSSSelector.m in Sources */,
19872017
62ECBF881C0B6D2A00AF847B /* CSSSelectorBlock.m in Sources */,
19882018
62ECBF891C0B6D2A00AF847B /* CSSTypeSelector.m in Sources */,

Sources/CSSAttributeSelector.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ - (BOOL)acceptElement:(HTMLElement *)element
6161
}
6262
case CSSAttributeSelectorIncludes:
6363
{
64-
NSArray *components = [element[_name] componentsSeparatedByCharactersInSet:[NSCharacterSet HTMLWhitespaceCharacterSet]];
64+
NSArray *components = [element[_name] componentsSeparatedByCharactersInSet:[NSCharacterSet htmlkit_HTMLWhitespaceCharacterSet]];
6565
return [components containsObject:_value];
6666
}
6767
case CSSAttributeSelectorBegins:

Sources/CSSNthExpressionParser.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
#import "CSSNthExpressionParser.h"
1010
#import "CSSCodePoints.h"
11-
#import "NSString+HTMLKit.h"
11+
#import "NSString+Private.h"
1212
#import "NSCharacterSet+HTMLKit.h"
1313

1414
@implementation CSSNthExpressionParser
@@ -26,7 +26,7 @@ + (CSSNthExpression)parseExpression:(NSString *)expression
2626
return CSSNthExpressionEven;
2727
}
2828

29-
NSCharacterSet *set = [[NSCharacterSet CSSNthExpressionCharacterSet] invertedSet];
29+
NSCharacterSet *set = [[NSCharacterSet htmlkit_CSSNthExpressionCharacterSet] invertedSet];
3030
if ([string rangeOfCharacterFromSet:set].location != NSNotFound) {
3131
return CSSNthExpressionMake(0, 0);
3232
}

Sources/CSSSelectorParser.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
#import "CSSInputStream.h"
1111
#import "CSSCodePoints.h"
1212
#import "CSSSelectors.h"
13-
#import "NSString+HTMLKit.h"
13+
#import "NSString+Private.h"
1414
#import "NSCharacterSet+HTMLKit.h"
1515
#import "CSSNthExpressionParser.h"
1616
#import "CSSCompoundSelector.h"

Sources/CSSStructuralPseudoSelectors.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
#import "CSSStructuralPseudoSelectors.h"
1010
#import "CSSSelectors.h"
1111
#import "HTMLElement.h"
12-
#import "NSString+HTMLKit.h"
12+
#import "NSString+Private.h"
1313

1414
#pragma mark - Elements
1515

Sources/CSSTypeSelector.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
#import "CSSTypeSelector.h"
1010
#import "HTMLElement.h"
11-
#import "NSString+HTMLKit.h"
11+
#import "NSString+Private.h"
1212

1313
@interface CSSTypeSelector ()
1414
{

Sources/HTMLCharacterToken.m

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ - (void)appendString:(NSString *)string
3636

3737
- (BOOL)isWhitespaceToken
3838
{
39-
return [_characters isHTMLWhitespaceString];
39+
return [_characters htmlkit_isHTMLWhitespaceString];
4040
}
4141

4242
- (BOOL)isEmpty
@@ -46,15 +46,15 @@ - (BOOL)isEmpty
4646

4747
- (void)retainLeadingWhitespace
4848
{
49-
NSUInteger index = _characters.leadingHTMLWhitespaceLength;
49+
NSUInteger index = _characters.htmlkit_leadingHTMLWhitespaceLength;
5050
if (index > 0) {
5151
[_characters setString:[_characters substringToIndex:index]];
5252
}
5353
}
5454

5555
- (void)trimLeadingWhitespace
5656
{
57-
NSUInteger index = _characters.leadingHTMLWhitespaceLength;
57+
NSUInteger index = _characters.htmlkit_leadingHTMLWhitespaceLength;
5858
if (index > 0) {
5959
[_characters setString:[_characters substringFromIndex:index]];
6060
}
@@ -67,7 +67,7 @@ - (void)trimFormIndex:(NSUInteger)index
6767

6868
- (HTMLCharacterToken *)tokenBySplitingLeadingWhiteSpace
6969
{
70-
NSUInteger index = _characters.leadingHTMLWhitespaceLength;
70+
NSUInteger index = _characters.htmlkit_leadingHTMLWhitespaceLength;
7171
if (index > 0) {
7272
NSString *leading = [_characters substringToIndex:index];
7373
[_characters setString:[_characters substringFromIndex:index]];

0 commit comments

Comments
 (0)