Compare commits

...

9 Commits

Author SHA1 Message Date
Simon Fairbairn 38920d2e09 Updating podspec 2016-03-06 13:47:40 +07:00
Simon Fairbairn cce77d50ce Version Bump to 12 2016-03-06 13:47:38 +07:00
Simon Fairbairn 23a756f23e Version Bump to 11 2016-03-06 13:45:52 +07:00
Simon Fairbairn 27741a1128 Version Bump to 10 2016-03-06 13:43:20 +07:00
Simon Fairbairn a57899227d Fixing warnings 2016-03-06 13:42:14 +07:00
Simon Fairbairn 0de132c464 Updating podspec 2016-03-06 13:39:38 +07:00
Simon Fairbairn f3d1cc33d0 Version Bump to 9 2016-03-06 13:39:37 +07:00
Simon Fairbairn 6023b1e959 Fixes #6 2016-03-06 13:39:13 +07:00
Simon Fairbairn 3a108fe096 Updating readme 2016-03-06 13:04:11 +07:00
7 changed files with 53 additions and 43 deletions
+1 -2
View File
@@ -11,7 +11,6 @@ Text string
URL
if let url = NSBundle.mainBundle().URLForResource("file", withExtension: "md"), md = SwiftyMarkdown(url: url ) {
md.attributedString()
}
@@ -27,4 +26,4 @@ URL
## Screenshot
![Screenshot](https://s3.amazonaws.com/f.cl.ly/items/2m3d2M0m2v050b2q3X00/Simulator%20Screen%20Shot%205%20Mar%202016,%2019.15.20.png?v=8ee97ee3)
![Screenshot](http://f.cl.ly/items/12332k3f2s0s0C281h2u/swiftymarkdown.png)
+1 -1
View File
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "SwiftyMarkdown"
s.version = "0.2.0"
s.version = "0.2.2"
s.summary = "Converts Markdown to NSAttributed String"
s.homepage = "https://github.com/SimonFairbairn/Stormcloud"
s.license = 'MIT'
+4 -6
View File
@@ -12,7 +12,6 @@
F4CE98911C8A921300D735C1 /* SwiftyMarkdownTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4CE98901C8A921300D735C1 /* SwiftyMarkdownTests.swift */; };
F4CE989C1C8A922E00D735C1 /* SwiftyMarkdown.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4CE989B1C8A922E00D735C1 /* SwiftyMarkdown.swift */; };
F4CE98E91C8AF01300D735C1 /* LICENSE in Resources */ = {isa = PBXBuildFile; fileRef = F4CE98E61C8AF01300D735C1 /* LICENSE */; };
F4CE98EA1C8AF01300D735C1 /* README.md in Sources */ = {isa = PBXBuildFile; fileRef = F4CE98E71C8AF01300D735C1 /* README.md */; };
F4CE98EB1C8AF01300D735C1 /* SwiftyMarkdown.podspec in Resources */ = {isa = PBXBuildFile; fileRef = F4CE98E81C8AF01300D735C1 /* SwiftyMarkdown.podspec */; };
/* End PBXBuildFile section */
@@ -208,7 +207,6 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
F4CE98EA1C8AF01300D735C1 /* README.md in Sources */,
F4CE989C1C8A922E00D735C1 /* SwiftyMarkdown.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -251,7 +249,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 8;
CURRENT_PROJECT_VERSION = 12;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
@@ -299,7 +297,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 8;
CURRENT_PROJECT_VERSION = 12;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
@@ -327,7 +325,7 @@
CLANG_ENABLE_MODULES = YES;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 8;
DYLIB_CURRENT_VERSION = 12;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = SwiftyMarkdown/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
@@ -346,7 +344,7 @@
CLANG_ENABLE_MODULES = YES;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 8;
DYLIB_CURRENT_VERSION = 12;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = SwiftyMarkdown/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+2 -2
View File
@@ -15,11 +15,11 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>0.1.2</string>
<string>0.2.1</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>8</string>
<string>12</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
+34 -30
View File
@@ -92,7 +92,7 @@ public class SwiftyMarkdown {
let string : String
let instructionSet = NSCharacterSet(charactersInString: "\\*_`[")
let instructionSet = NSCharacterSet(charactersInString: "[\\*_`")
/**
@@ -207,13 +207,16 @@ public class SwiftyMarkdown {
let set = NSMutableCharacterSet.whitespaceCharacterSet()
set.formUnionWithCharacterSet(NSCharacterSet.punctuationCharacterSet())
if !scanner.scanUpToCharactersFromSet(set, intoString: nil) {
if scanner.scanUpToCharactersFromSet(set, intoString: nil) {
scanner.scanLocation = location
attributedString.appendAttributedString(self.attributedStringFromScanner(scanner))
} else if matchedCharacters == "[" {
scanner.scanLocation = location
attributedString.appendAttributedString(self.attributedStringFromScanner(scanner))
} else {
let charAtts = attributedStringFromString(matchedCharacters, withStyle: .None)
attributedString.appendAttributedString(charAtts)
} else {
scanner.scanLocation = location
attributedString.appendAttributedString(self.attributedStringFromScanner(scanner))
}
}
} else {
@@ -237,32 +240,33 @@ public class SwiftyMarkdown {
var style = LineStyle.styleFromString(results.foundCharacters)
let location = scanner.scanLocation
let attributedString = attributedStringFromString(results.escapedCharacters, withStyle: style).mutableCopy() as! NSMutableAttributedString
scanner.scanUpToCharactersFromSet(instructionSet, intoString: &followingString)
if var hasString = followingString as? String {
var attributes = [String : AnyObject]()
if style == .Link {
var attributes = [String : AnyObject]()
if style == .Link {
scanner.scanLocation = location
var linkText : NSString?
var linkURL : NSString?
let linkCharacters = NSCharacterSet(charactersInString: "]()")
scanner.scanUpToCharactersFromSet(linkCharacters, intoString: &linkText)
scanner.scanCharactersFromSet(linkCharacters, intoString: nil)
scanner.scanUpToCharactersFromSet(linkCharacters, intoString: &linkURL)
scanner.scanCharactersFromSet(linkCharacters, intoString: nil)
if let hasLink = linkText, hasURL = linkURL {
hasString = hasLink as String
attributes[NSLinkAttributeName] = hasURL as String
} else {
style = .None
}
var linkText : NSString?
var linkURL : NSString?
let linkCharacters = NSCharacterSet(charactersInString: "]()")
scanner.scanUpToCharactersFromSet(linkCharacters, intoString: &linkText)
scanner.scanCharactersFromSet(linkCharacters, intoString: nil)
scanner.scanUpToCharactersFromSet(linkCharacters, intoString: &linkURL)
scanner.scanCharactersFromSet(linkCharacters, intoString: nil)
if let hasLink = linkText, hasURL = linkURL {
followingString = hasLink as String
attributes[NSLinkAttributeName] = hasURL as String
} else {
style = .None
}
} else {
scanner.scanUpToCharactersFromSet(instructionSet, intoString: &followingString)
}
let attributedString = attributedStringFromString(results.escapedCharacters, withStyle: style).mutableCopy() as! NSMutableAttributedString
if let hasString = followingString as? String {
let prefix = ( style == .Code && start ) ? "\t" : ""
let attString = attributedStringFromString(prefix + hasString, withStyle: style, attributes: attributes)
+2 -2
View File
@@ -15,10 +15,10 @@
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>0.1.2</string>
<string>0.2.1</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>8</string>
<string>12</string>
</dict>
</plist>
@@ -233,6 +233,8 @@ class SwiftyMarkdownTests: XCTestCase {
let multipleLinks = "[Link 1](http://voyagetravelapps.com/), [Link 2](http://voyagetravelapps.com/)"
let mailtoAndTwitterLinks = "Email us at [simon@voyagetravelapps.com](mailto:simon@voyagetravelapps.com) Twitter [@VoyageTravelApp](twitter://user?screen_name=VoyageTravelApp)"
let syntaxErrorSquareBracketAtStart = "[Link with missing square(http://voyagetravelapps.com/)"
let syntaxErrorSquareBracketWithin = "A [Link(http://voyagetravelapps.com/)"
@@ -263,7 +265,14 @@ class SwiftyMarkdownTests: XCTestCase {
md = SwiftyMarkdown(string: syntaxErrorParenthesisWithin)
XCTAssertEqual(md.attributedString().string, "A Link\n")
md = SwiftyMarkdown(string: mailtoAndTwitterLinks)
XCTAssertEqual(md.attributedString().string, "Email us at simon@voyagetravelapps.com Twitter @VoyageTravelApp\n")
// let mailtoAndTwitterLinks = "Twitter [@VoyageTravelApp](twitter://user?screen_name=VoyageTravelApp)"
// let md = SwiftyMarkdown(string: mailtoAndTwitterLinks)
// XCTAssertEqual(md.attributedString().string, "Twitter @VoyageTravelApp\n")
}