forked from shadowfacts/shadowfacts.net
Remove test stuff
This commit is contained in:
parent
1688cefe9c
commit
4ddc746a8a
|
@ -7,38 +7,3 @@ metadata.date = "2019-01-02 23:02:42 -0400"
|
||||||
Welcome, to ***Reincarnation***.
|
Welcome, to ***Reincarnation***.
|
||||||
<!-- excerpt-end -->
|
<!-- excerpt-end -->
|
||||||
`// TODO: write the actual blog post`
|
`// TODO: write the actual blog post`
|
||||||
|
|
||||||
```swift
|
|
||||||
import Foundation
|
|
||||||
|
|
||||||
public struct CharacterCounter {
|
|
||||||
|
|
||||||
static let linkDetector = try! NSDataDetector(types: NSTextCheckingResult.CheckingType.link.rawValue)
|
|
||||||
static let mention = try! NSRegularExpression(pattern: "(@[a-z0-9_]+)(?:@[a-z0-9\\-\\.]+[a-z0-9]+)?", options: .caseInsensitive)
|
|
||||||
|
|
||||||
public static func count(text: String) -> Int {
|
|
||||||
let mentionsRemoved = removeMentions(in: text)
|
|
||||||
var count = mentionsRemoved.count
|
|
||||||
for match in linkDetector.matches(in: mentionsRemoved, options: [], range: NSRange(location: 0, length: mentionsRemoved.utf16.count)) {
|
|
||||||
count -= match.range.length
|
|
||||||
count += 23 // Mastodon link length
|
|
||||||
}
|
|
||||||
return count
|
|
||||||
}
|
|
||||||
|
|
||||||
private static func removeMentions(in text: String) -> String {
|
|
||||||
var mut = text
|
|
||||||
for match in mention.matches(in: mut, options: [], range: NSRange(location: 0, length: mut.utf16.count)).reversed() {
|
|
||||||
let replacement = mut[Range(match.range(at: 1), in: mut)!]
|
|
||||||
mut.replaceSubrange(Range(match.range, in: mut)!, with: replacement)
|
|
||||||
}
|
|
||||||
return mut
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
<figure>
|
|
||||||
<img src="https://github.com/shadowfacts.png" alt="Test" />
|
|
||||||
<figcaption>Example photo</figcaption>
|
|
||||||
</figure>
|
|
Loading…
Reference in New Issue