diff --git a/CHANGELOG.md b/CHANGELOG.md index b3de674..e76f658 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## [Unreleased][] +* Rearrange source folder tree to match Swift Package Manager convention. + ## [0.9.6][] – 2016-04-02 * Fix Objective-C generics (and their import into Swift) by spelling things correctly. (Fixes #59.) (Fixes #60.) diff --git a/HTMLReader.xcodeproj/project.pbxproj b/HTMLReader.xcodeproj/project.pbxproj index 1ad1942..044485d 100644 --- a/HTMLReader.xcodeproj/project.pbxproj +++ b/HTMLReader.xcodeproj/project.pbxproj @@ -247,23 +247,23 @@ /* Begin PBXFileReference section */ 0D10776E1C1AC2DF00CF9B41 /* HTMLReader.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = HTMLReader.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 0D1077771C1AC2DF00CF9B41 /* Tests on tvOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Tests on tvOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 1C25D3A6177BB78600F7C10D /* HTMLDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLDocument.h; sourceTree = ""; }; + 1C25D3A6177BB78600F7C10D /* HTMLDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTMLDocument.h; path = include/HTMLDocument.h; sourceTree = ""; }; 1C25D3A7177BB78600F7C10D /* HTMLDocument.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLDocument.m; sourceTree = ""; }; - 1C25D40817837A8A00F7C10D /* HTMLParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLParser.h; sourceTree = ""; }; + 1C25D40817837A8A00F7C10D /* HTMLParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTMLParser.h; path = include/HTMLParser.h; sourceTree = ""; }; 1C25D40917837A8A00F7C10D /* HTMLParser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLParser.m; sourceTree = ""; }; 1C319BC31C618863000DAA63 /* HTMLReader.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = HTMLReader.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 1C3C5BBF1A809C8A0091E7E6 /* HTMLEncoding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLEncoding.h; sourceTree = ""; }; + 1C3C5BBF1A809C8A0091E7E6 /* HTMLEncoding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTMLEncoding.h; path = include/HTMLEncoding.h; sourceTree = ""; }; 1C3C5BC01A809C8A0091E7E6 /* HTMLEncoding.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLEncoding.m; sourceTree = ""; }; - 1C640EB2176BCA1C00919E5C /* HTMLTokenizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLTokenizer.h; sourceTree = ""; }; + 1C640EB2176BCA1C00919E5C /* HTMLTokenizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTMLTokenizer.h; path = include/HTMLTokenizer.h; sourceTree = ""; }; 1C640EB3176BCA1C00919E5C /* HTMLTokenizer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLTokenizer.m; sourceTree = ""; }; 1C6C1F4C1A179BF600236076 /* HTMLReader.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = HTMLReader.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 1C88293B18369DD70051653C /* HTMLReader.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = HTMLReader.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 1C88294418369DD70051653C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 1C88295018369DD70051653C /* Tests on OS X.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Tests on OS X.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 1C8829781836A0A80051653C /* Tests.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Tests.xcconfig; sourceTree = ""; }; - 1C8E10531919F1560010007B /* NSString+HTMLEntities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+HTMLEntities.h"; sourceTree = ""; }; + 1C8E10531919F1560010007B /* NSString+HTMLEntities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSString+HTMLEntities.h"; path = "include/NSString+HTMLEntities.h"; sourceTree = ""; }; 1C8E10541919F1560010007B /* NSString+HTMLEntities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+HTMLEntities.m"; sourceTree = ""; }; - 1C8E10581919F2570010007B /* HTMLEntities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLEntities.h; sourceTree = ""; }; + 1C8E10581919F2570010007B /* HTMLEntities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTMLEntities.h; path = include/HTMLEntities.h; sourceTree = ""; }; 1C8E10591919F2570010007B /* HTMLEntities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLEntities.m; sourceTree = ""; }; 1C8E105D1919F27A0010007B /* HTMLEscapingTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLEscapingTest.m; sourceTree = ""; }; 1C9513C21A8029CC00BB2CC9 /* HTMLEncodingTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLEncodingTests.m; sourceTree = ""; }; @@ -276,19 +276,19 @@ 1C9C3ECA176BC53900E982C9 /* Tests on iOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Tests on iOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 1C9C3ED5176BC53900E982C9 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 1CA240D61AD95F6900BB9D61 /* HTMLReader.playground */ = {isa = PBXFileReference; lastKnownFileType = file.playground; path = HTMLReader.playground; sourceTree = ""; }; - 1CA5C20F18D7457400147FE7 /* HTMLElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLElement.h; sourceTree = ""; }; + 1CA5C20F18D7457400147FE7 /* HTMLElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTMLElement.h; path = include/HTMLElement.h; sourceTree = ""; }; 1CA5C21018D7457400147FE7 /* HTMLElement.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLElement.m; sourceTree = ""; }; - 1CA5C21418D746D600147FE7 /* HTMLComment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLComment.h; sourceTree = ""; }; + 1CA5C21418D746D600147FE7 /* HTMLComment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTMLComment.h; path = include/HTMLComment.h; sourceTree = ""; }; 1CA5C21518D746D600147FE7 /* HTMLComment.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLComment.m; sourceTree = ""; }; - 1CA5C21918D7479C00147FE7 /* HTMLDocumentType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLDocumentType.h; sourceTree = ""; }; + 1CA5C21918D7479C00147FE7 /* HTMLDocumentType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTMLDocumentType.h; path = include/HTMLDocumentType.h; sourceTree = ""; }; 1CA5C21A18D7479C00147FE7 /* HTMLDocumentType.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLDocumentType.m; sourceTree = ""; }; - 1CACE9E21783A92F00754A8F /* HTMLNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLNode.h; sourceTree = ""; }; + 1CACE9E21783A92F00754A8F /* HTMLNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTMLNode.h; path = include/HTMLNode.h; sourceTree = ""; }; 1CACE9E31783A92F00754A8F /* HTMLNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLNode.m; sourceTree = ""; }; - 1CACE9E81783AA6600754A8F /* HTMLString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLString.h; sourceTree = ""; }; + 1CACE9E81783AA6600754A8F /* HTMLString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTMLString.h; path = include/HTMLString.h; sourceTree = ""; }; 1CACE9E91783AA6600754A8F /* HTMLString.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLString.m; sourceTree = ""; }; - 1CB0B95D183F2C7100021DBE /* HTMLPreprocessedInputStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLPreprocessedInputStream.h; sourceTree = ""; }; + 1CB0B95D183F2C7100021DBE /* HTMLPreprocessedInputStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTMLPreprocessedInputStream.h; path = include/HTMLPreprocessedInputStream.h; sourceTree = ""; }; 1CB0B95E183F2C7100021DBE /* HTMLPreprocessedInputStream.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLPreprocessedInputStream.m; sourceTree = ""; }; - 1CB61D2417BB671A00EE9653 /* HTMLReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLReader.h; sourceTree = ""; }; + 1CB61D2417BB671A00EE9653 /* HTMLReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTMLReader.h; path = include/HTMLReader.h; sourceTree = ""; }; 1CB61D2717BB68F100EE9653 /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; 1CB61D2817BB7A2700EE9653 /* HTMLReader.podspec */ = {isa = PBXFileReference; lastKnownFileType = text; path = HTMLReader.podspec; sourceTree = ""; }; 1CC666A617B0C71100E457E7 /* HTMLTokenizerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLTokenizerTests.m; sourceTree = ""; }; @@ -296,26 +296,26 @@ 1CC666AC17B14D2B00E457E7 /* HTMLTreeConstructionTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLTreeConstructionTests.m; sourceTree = ""; }; 1CC666AF17B14E1800E457E7 /* HTMLTestUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLTestUtilities.h; sourceTree = ""; }; 1CC666B017B14E1800E457E7 /* HTMLTestUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLTestUtilities.m; sourceTree = ""; }; - 1CC6691818D604BC00BDF7B8 /* HTMLSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLSupport.h; sourceTree = ""; }; - 1CC6693418D6CFFC00BDF7B8 /* HTMLOrderedDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLOrderedDictionary.h; sourceTree = ""; }; + 1CC6691818D604BC00BDF7B8 /* HTMLSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTMLSupport.h; path = include/HTMLSupport.h; sourceTree = ""; }; + 1CC6693418D6CFFC00BDF7B8 /* HTMLOrderedDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTMLOrderedDictionary.h; path = include/HTMLOrderedDictionary.h; sourceTree = ""; }; 1CC6693518D6CFFC00BDF7B8 /* HTMLOrderedDictionary.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLOrderedDictionary.m; sourceTree = ""; }; 1CC6693E18D6DDD400BDF7B8 /* HTMLDictionaryTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLDictionaryTests.m; sourceTree = ""; }; 1CD0C54D1BDDC07700C3AC80 /* CHANGELOG.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = CHANGELOG.md; sourceTree = ""; }; - 1CD524EE18D74B71003F46A3 /* HTMLTextNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLTextNode.h; sourceTree = ""; }; + 1CD524EE18D74B71003F46A3 /* HTMLTextNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTMLTextNode.h; path = include/HTMLTextNode.h; sourceTree = ""; }; 1CD524EF18D74B71003F46A3 /* HTMLTextNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLTextNode.m; sourceTree = ""; }; - 1CD524F318D74C1F003F46A3 /* HTMLTreeEnumerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLTreeEnumerator.h; sourceTree = ""; }; + 1CD524F318D74C1F003F46A3 /* HTMLTreeEnumerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTMLTreeEnumerator.h; path = include/HTMLTreeEnumerator.h; sourceTree = ""; }; 1CD524F418D74C1F003F46A3 /* HTMLTreeEnumerator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLTreeEnumerator.m; sourceTree = ""; }; - 1CD524F818D74CFF003F46A3 /* HTMLSerialization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLSerialization.h; sourceTree = ""; }; + 1CD524F818D74CFF003F46A3 /* HTMLSerialization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTMLSerialization.h; path = include/HTMLSerialization.h; sourceTree = ""; }; 1CD524F918D74CFF003F46A3 /* HTMLSerialization.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLSerialization.m; sourceTree = ""; }; 1CD524FD18DB51E6003F46A3 /* HTMLNodeTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLNodeTests.m; sourceTree = ""; }; - 1CD5250018DB5DCD003F46A3 /* HTMLQuirksMode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HTMLQuirksMode.h; sourceTree = ""; }; - 1CD5250218DB5F1B003F46A3 /* HTMLNamespace.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HTMLNamespace.h; sourceTree = ""; }; - 1CD5250418DC7E60003F46A3 /* HTMLTokenizerState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HTMLTokenizerState.h; sourceTree = ""; }; + 1CD5250018DB5DCD003F46A3 /* HTMLQuirksMode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HTMLQuirksMode.h; path = include/HTMLQuirksMode.h; sourceTree = ""; }; + 1CD5250218DB5F1B003F46A3 /* HTMLNamespace.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HTMLNamespace.h; path = include/HTMLNamespace.h; sourceTree = ""; }; + 1CD5250418DC7E60003F46A3 /* HTMLTokenizerState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HTMLTokenizerState.h; path = include/HTMLTokenizerState.h; sourceTree = ""; }; 1CD5250918DC83E6003F46A3 /* Benchmarker */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = Benchmarker; sourceTree = BUILT_PRODUCTS_DIR; }; 1CD5251718DC8438003F46A3 /* Benchmarker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Benchmarker.m; sourceTree = ""; }; 1CD5251D18DCAD47003F46A3 /* query-selector.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "query-selector.plist"; sourceTree = ""; }; 1CF4584117CC83DD000F64B5 /* HTMLSerializerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLSerializerTests.m; sourceTree = ""; }; - 83C4518717BAFE3500C144DF /* HTMLSelector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLSelector.h; sourceTree = ""; }; + 83C4518717BAFE3500C144DF /* HTMLSelector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTMLSelector.h; path = include/HTMLSelector.h; sourceTree = ""; }; 83C4518817BAFE3500C144DF /* HTMLSelector.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLSelector.m; sourceTree = ""; }; 83C4518C17BB1FA400C144DF /* HTMLSelectorTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLSelectorTests.m; sourceTree = ""; }; /* End PBXFileReference section */ @@ -418,7 +418,7 @@ 1CB61D2817BB7A2700EE9653 /* HTMLReader.podspec */, 1CB61D2717BB68F100EE9653 /* LICENSE */, 1C9928B117B18E9300D6AD9A /* README.md */, - 1C9C3EBE176BC53900E982C9 /* Code */, + 1C9C3EBE176BC53900E982C9 /* Sources */, 1C9C3ED3176BC53900E982C9 /* Tests */, 1C9A2A021836FE800059FE17 /* Utilities */, 1C88294218369DD70051653C /* Framework */, @@ -444,7 +444,7 @@ name = Products; sourceTree = ""; }; - 1C9C3EBE176BC53900E982C9 /* Code */ = { + 1C9C3EBE176BC53900E982C9 /* Sources */ = { isa = PBXGroup; children = ( 1CB15BB91A9A4AC700176E73 /* DOM */, @@ -453,7 +453,7 @@ 1CB15BBA1A9A4AE500176E73 /* Parser */, 1CB15BB81A9A4AA000176E73 /* Selectors */, ); - path = Code; + path = Sources; sourceTree = ""; }; 1C9C3ED3176BC53900E982C9 /* Tests */ = { diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..e69de29 diff --git a/README.md b/README.md index ad737a9..fd0472a 100644 --- a/README.md +++ b/README.md @@ -52,19 +52,26 @@ NSURLSession *session = [NSURLSession sharedSession]; You have choices: -* Copy the files in the [Code](Code) folder into your project. +* Copy the files in the [Sources](Sources) folder into your project. * Add the following line to your [Cartfile][Carthage]: `github "nolanw/HTMLReader"` * Add the following line to your [Podfile][CocoaPods]: `pod "HTMLReader"` +* Add the following line to your [Package.swift][Swift Package Manager]: + + `.Package(url: "https://github.com/nolanw/HTMLReader", + majorVersion: 0, minorVersion: 9)` + + You'll need to invoke `swift build` like so: `swift build -Xcc -fobjc-arc`. * Clone this repository (perhaps add it as a submodule) and add `HTMLReader.xcodeproj` to your project/workspace. Then add `HTMLReader.framework` to your app target. (Or, if you're targeting iOS earlier than 8.0: add `libHTMLReader.a` to your app target and `"$(SYMROOT)/include"` to your app target's Header Search Paths.) HTMLReader has no dependencies other than Foundation. [Carthage]: https://github.com/Carthage/Carthage#readme [CocoaPods]: http://docs.cocoapods.org/podfile.html#pod +[Swift Package Manager]: https://swift.org/package-manager/#importing-dependencies ## Why HTMLReader? diff --git a/Code/HTMLComment.m b/Sources/HTMLComment.m similarity index 100% rename from Code/HTMLComment.m rename to Sources/HTMLComment.m diff --git a/Code/HTMLDocument.m b/Sources/HTMLDocument.m similarity index 100% rename from Code/HTMLDocument.m rename to Sources/HTMLDocument.m diff --git a/Code/HTMLDocumentType.m b/Sources/HTMLDocumentType.m similarity index 100% rename from Code/HTMLDocumentType.m rename to Sources/HTMLDocumentType.m diff --git a/Code/HTMLElement.m b/Sources/HTMLElement.m similarity index 100% rename from Code/HTMLElement.m rename to Sources/HTMLElement.m diff --git a/Code/HTMLEncoding.m b/Sources/HTMLEncoding.m similarity index 100% rename from Code/HTMLEncoding.m rename to Sources/HTMLEncoding.m diff --git a/Code/HTMLEntities.m b/Sources/HTMLEntities.m similarity index 100% rename from Code/HTMLEntities.m rename to Sources/HTMLEntities.m diff --git a/Code/HTMLNode.m b/Sources/HTMLNode.m similarity index 100% rename from Code/HTMLNode.m rename to Sources/HTMLNode.m diff --git a/Code/HTMLOrderedDictionary.m b/Sources/HTMLOrderedDictionary.m similarity index 100% rename from Code/HTMLOrderedDictionary.m rename to Sources/HTMLOrderedDictionary.m diff --git a/Code/HTMLParser.m b/Sources/HTMLParser.m similarity index 100% rename from Code/HTMLParser.m rename to Sources/HTMLParser.m diff --git a/Code/HTMLPreprocessedInputStream.m b/Sources/HTMLPreprocessedInputStream.m similarity index 100% rename from Code/HTMLPreprocessedInputStream.m rename to Sources/HTMLPreprocessedInputStream.m diff --git a/Code/HTMLSelector.m b/Sources/HTMLSelector.m similarity index 100% rename from Code/HTMLSelector.m rename to Sources/HTMLSelector.m diff --git a/Code/HTMLSerialization.m b/Sources/HTMLSerialization.m similarity index 100% rename from Code/HTMLSerialization.m rename to Sources/HTMLSerialization.m diff --git a/Code/HTMLString.m b/Sources/HTMLString.m similarity index 100% rename from Code/HTMLString.m rename to Sources/HTMLString.m diff --git a/Code/HTMLTextNode.m b/Sources/HTMLTextNode.m similarity index 100% rename from Code/HTMLTextNode.m rename to Sources/HTMLTextNode.m diff --git a/Code/HTMLTokenizer.m b/Sources/HTMLTokenizer.m similarity index 100% rename from Code/HTMLTokenizer.m rename to Sources/HTMLTokenizer.m diff --git a/Code/HTMLTreeEnumerator.m b/Sources/HTMLTreeEnumerator.m similarity index 100% rename from Code/HTMLTreeEnumerator.m rename to Sources/HTMLTreeEnumerator.m diff --git a/Code/NSString+HTMLEntities.m b/Sources/NSString+HTMLEntities.m similarity index 100% rename from Code/NSString+HTMLEntities.m rename to Sources/NSString+HTMLEntities.m diff --git a/Code/HTMLComment.h b/Sources/include/HTMLComment.h similarity index 100% rename from Code/HTMLComment.h rename to Sources/include/HTMLComment.h diff --git a/Code/HTMLDocument.h b/Sources/include/HTMLDocument.h similarity index 100% rename from Code/HTMLDocument.h rename to Sources/include/HTMLDocument.h diff --git a/Code/HTMLDocumentType.h b/Sources/include/HTMLDocumentType.h similarity index 100% rename from Code/HTMLDocumentType.h rename to Sources/include/HTMLDocumentType.h diff --git a/Code/HTMLElement.h b/Sources/include/HTMLElement.h similarity index 100% rename from Code/HTMLElement.h rename to Sources/include/HTMLElement.h diff --git a/Code/HTMLEncoding.h b/Sources/include/HTMLEncoding.h similarity index 100% rename from Code/HTMLEncoding.h rename to Sources/include/HTMLEncoding.h diff --git a/Code/HTMLEntities.h b/Sources/include/HTMLEntities.h similarity index 100% rename from Code/HTMLEntities.h rename to Sources/include/HTMLEntities.h diff --git a/Code/HTMLNamespace.h b/Sources/include/HTMLNamespace.h similarity index 100% rename from Code/HTMLNamespace.h rename to Sources/include/HTMLNamespace.h diff --git a/Code/HTMLNode.h b/Sources/include/HTMLNode.h similarity index 100% rename from Code/HTMLNode.h rename to Sources/include/HTMLNode.h diff --git a/Code/HTMLOrderedDictionary.h b/Sources/include/HTMLOrderedDictionary.h similarity index 100% rename from Code/HTMLOrderedDictionary.h rename to Sources/include/HTMLOrderedDictionary.h diff --git a/Code/HTMLParser.h b/Sources/include/HTMLParser.h similarity index 100% rename from Code/HTMLParser.h rename to Sources/include/HTMLParser.h diff --git a/Code/HTMLPreprocessedInputStream.h b/Sources/include/HTMLPreprocessedInputStream.h similarity index 100% rename from Code/HTMLPreprocessedInputStream.h rename to Sources/include/HTMLPreprocessedInputStream.h diff --git a/Code/HTMLQuirksMode.h b/Sources/include/HTMLQuirksMode.h similarity index 100% rename from Code/HTMLQuirksMode.h rename to Sources/include/HTMLQuirksMode.h diff --git a/Code/HTMLReader.h b/Sources/include/HTMLReader.h similarity index 100% rename from Code/HTMLReader.h rename to Sources/include/HTMLReader.h diff --git a/Code/HTMLSelector.h b/Sources/include/HTMLSelector.h similarity index 100% rename from Code/HTMLSelector.h rename to Sources/include/HTMLSelector.h diff --git a/Code/HTMLSerialization.h b/Sources/include/HTMLSerialization.h similarity index 100% rename from Code/HTMLSerialization.h rename to Sources/include/HTMLSerialization.h diff --git a/Code/HTMLString.h b/Sources/include/HTMLString.h similarity index 100% rename from Code/HTMLString.h rename to Sources/include/HTMLString.h diff --git a/Code/HTMLSupport.h b/Sources/include/HTMLSupport.h similarity index 100% rename from Code/HTMLSupport.h rename to Sources/include/HTMLSupport.h diff --git a/Code/HTMLTextNode.h b/Sources/include/HTMLTextNode.h similarity index 100% rename from Code/HTMLTextNode.h rename to Sources/include/HTMLTextNode.h diff --git a/Code/HTMLTokenizer.h b/Sources/include/HTMLTokenizer.h similarity index 100% rename from Code/HTMLTokenizer.h rename to Sources/include/HTMLTokenizer.h diff --git a/Code/HTMLTokenizerState.h b/Sources/include/HTMLTokenizerState.h similarity index 100% rename from Code/HTMLTokenizerState.h rename to Sources/include/HTMLTokenizerState.h diff --git a/Code/HTMLTreeEnumerator.h b/Sources/include/HTMLTreeEnumerator.h similarity index 100% rename from Code/HTMLTreeEnumerator.h rename to Sources/include/HTMLTreeEnumerator.h diff --git a/Code/NSString+HTMLEntities.h b/Sources/include/NSString+HTMLEntities.h similarity index 100% rename from Code/NSString+HTMLEntities.h rename to Sources/include/NSString+HTMLEntities.h