From 7e76895dc0b2bd8e9e1f2d3e3c8e90b24bc834a9 Mon Sep 17 00:00:00 2001 From: Christopher de Haan Date: Sat, 29 May 2021 11:53:04 -0700 Subject: [PATCH] Bug fixes (#33) * Fix bold and italic parsing for single characters * Update Package.swift * Fix deprecations * Bump version * Update copyright --- CDMarkdownKit.podspec | 2 +- CDMarkdownKit.xcodeproj/project.pbxproj | 16 ++++++++++------ CHANGELOG.md | 15 ++++++++++++++- .../Base.lproj/LaunchScreen.storyboard | 17 +++++++++++------ Example/Source/AppDelegate.swift | 2 +- Example/Source/BaseViewController.swift | 2 +- Example/Source/CodeLabelViewController.swift | 2 +- Example/Source/CodeTextViewController.swift | 2 +- Example/Source/Localizable.strings | 2 +- .../Source/StoryboardLabelViewController.swift | 2 +- .../Source/StoryboardTextViewController.swift | 2 +- LICENSE | 2 +- Package.swift | 4 ++-- README.md | 4 ++-- Source/CDAttributedStringKey.swift | 2 +- Source/CDColor+CDMarkdownKit.swift | 2 +- Source/CDColor.swift | 2 +- Source/CDFont+CDMarkdownKit.swift | 2 +- Source/CDFont.swift | 2 +- Source/CDImage+CDMarkdownKit.swift | 2 +- Source/CDImage.swift | 2 +- Source/CDMarkdownAutomaticLink.swift | 2 +- Source/CDMarkdownBold.swift | 4 ++-- Source/CDMarkdownCode.swift | 2 +- Source/CDMarkdownCodeEscaping.swift | 2 +- Source/CDMarkdownCommonElement.swift | 2 +- Source/CDMarkdownElement.swift | 4 ++-- Source/CDMarkdownEscaping.swift | 2 +- Source/CDMarkdownHeader.swift | 2 +- Source/CDMarkdownImage.swift | 2 +- Source/CDMarkdownItalic.swift | 4 ++-- Source/CDMarkdownKit.h | 2 +- Source/CDMarkdownLabel.swift | 4 ++-- Source/CDMarkdownLayoutManager.swift | 2 +- Source/CDMarkdownLevelElement.swift | 2 +- Source/CDMarkdownLink.swift | 2 +- Source/CDMarkdownLinkElement.swift | 2 +- Source/CDMarkdownList.swift | 2 +- Source/CDMarkdownParser.swift | 4 ++-- Source/CDMarkdownQuote.swift | 2 +- Source/CDMarkdownStyle.swift | 2 +- Source/CDMarkdownSyntax.swift | 2 +- Source/CDMarkdownTextView.swift | 2 +- Source/CDMarkdownUnescaping.swift | 2 +- Source/Dictionary+CDMarkdownKit.swift | 2 +- Source/NSAttributedString+CDMarkdownKit.swift | 2 +- ...SMutableAttributedString+CDMarkdownKit.swift | 2 +- Source/NSTextCheckingResult+CDMarkdownKit.swift | 2 +- Source/NSTextStorage+CDMarkdownKit.swift | 2 +- Source/String+CDMarkdownKit.swift | 2 +- 50 files changed, 89 insertions(+), 67 deletions(-) diff --git a/CDMarkdownKit.podspec b/CDMarkdownKit.podspec index bde2dfe..d9e6ae7 100644 --- a/CDMarkdownKit.podspec +++ b/CDMarkdownKit.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'CDMarkdownKit' - s.version = '2.1.0' + s.version = '2.1.1' s.license = { :type => 'MIT', :file => 'LICENSE' } s.summary = 'An extensive Swift framework providing simple and customizable markdown parsing.' s.description = <<-DESC diff --git a/CDMarkdownKit.xcodeproj/project.pbxproj b/CDMarkdownKit.xcodeproj/project.pbxproj index 1e29e48..34b187f 100644 --- a/CDMarkdownKit.xcodeproj/project.pbxproj +++ b/CDMarkdownKit.xcodeproj/project.pbxproj @@ -170,10 +170,10 @@ B27A78061FC13F87001491C6 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; B27A78081FC13F87001491C6 /* CHANGELOG.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = CHANGELOG.md; sourceTree = ""; }; B29FE73B21AF01B6009A4BC1 /* Dictionary+CDMarkdownKit.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Dictionary+CDMarkdownKit.swift"; sourceTree = ""; }; - B2ACA0771FBF93ED00EABEF6 /* CDMarkdownKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = CDMarkdownKit.framework; path = CDMarkdownKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B2ACA0841FBF940700EABEF6 /* CDMarkdownKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = CDMarkdownKit.framework; path = CDMarkdownKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B2ACA0911FBF941B00EABEF6 /* CDMarkdownKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = CDMarkdownKit.framework; path = CDMarkdownKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B2B365B71F3245800078B962 /* CDMarkdownKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = CDMarkdownKit.framework; path = CDMarkdownKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B2ACA0771FBF93ED00EABEF6 /* CDMarkdownKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CDMarkdownKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B2ACA0841FBF940700EABEF6 /* CDMarkdownKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CDMarkdownKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B2ACA0911FBF941B00EABEF6 /* CDMarkdownKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CDMarkdownKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B2B365B71F3245800078B962 /* CDMarkdownKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CDMarkdownKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B2B366021F324CF10078B962 /* CDMarkdownKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDMarkdownKit.h; sourceTree = ""; }; B2B366031F324CF10078B962 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; B2B366071F324DE90078B962 /* CDMarkdownImage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CDMarkdownImage.swift; sourceTree = ""; }; @@ -822,6 +822,7 @@ FRAMEWORK_VERSION = A; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MARKETING_VERSION = 2.1.1; SDKROOT = macosx; SKIP_INSTALL = YES; }; @@ -837,6 +838,7 @@ FRAMEWORK_VERSION = A; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MARKETING_VERSION = 2.1.1; SDKROOT = macosx; SKIP_INSTALL = YES; }; @@ -955,7 +957,7 @@ INFOPLIST_FILE = Source/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 10.0; MACOSX_DEPLOYMENT_TARGET = 10.12; - MARKETING_VERSION = 2.1.0; + MARKETING_VERSION = 2.1.1; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.christopherdehaan.CDMarkdownKit; PRODUCT_NAME = CDMarkdownKit; @@ -1018,7 +1020,7 @@ INFOPLIST_FILE = Source/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 10.0; MACOSX_DEPLOYMENT_TARGET = 10.12; - MARKETING_VERSION = 2.1.0; + MARKETING_VERSION = 2.1.1; PRODUCT_BUNDLE_IDENTIFIER = com.christopherdehaan.CDMarkdownKit; PRODUCT_NAME = CDMarkdownKit; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; @@ -1041,6 +1043,7 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MARKETING_VERSION = 2.1.1; SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1056,6 +1059,7 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MARKETING_VERSION = 2.1.1; SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; diff --git a/CHANGELOG.md b/CHANGELOG.md index d714543..f88ac0c 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. `CDMarkdownKit` adheres to [Semantic Versioning](https://semver.org/). #### 2.x Releases -- `2.1.x` Releases - [2.1.0](#210) +- `2.1.x` Releases - [2.1.0](#210) | [2.1.1](#211) - `2.0.x` Releases - [2.0.0](#200) #### 1.x Releases @@ -13,6 +13,19 @@ All notable changes to this project will be documented in this file. --- +## [2.1.1](https://github.com/chrisdhaan/CDMarkdownKit/releases/tag/2.1.1) +## Bug Fixes +Released on 2021-05-29. + +#### Updated + +- [x] Markdown Parsing + - [x] Bold and italic parsing by character +- [x] Switch Package Manager + - [x] Built with `swift-tools-version:5.1` + +--- + ## [2.1.0](https://github.com/chrisdhaan/CDMarkdownKit/releases/tag/2.1.0) ## SDK Support Released on 2020-08-30. diff --git a/Example/Resources/Base.lproj/LaunchScreen.storyboard b/Example/Resources/Base.lproj/LaunchScreen.storyboard index fdc7770..21de614 100644 --- a/Example/Resources/Base.lproj/LaunchScreen.storyboard +++ b/Example/Resources/Base.lproj/LaunchScreen.storyboard @@ -1,7 +1,7 @@ - + - + @@ -23,7 +23,7 @@ - + - + + + + + diff --git a/Example/Source/AppDelegate.swift b/Example/Source/AppDelegate.swift index 94b0a4f..3e2a244 100644 --- a/Example/Source/AppDelegate.swift +++ b/Example/Source/AppDelegate.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 8/2/17. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Source/BaseViewController.swift b/Example/Source/BaseViewController.swift index 4d04da2..6315c69 100644 --- a/Example/Source/BaseViewController.swift +++ b/Example/Source/BaseViewController.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 6/11/18. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Source/CodeLabelViewController.swift b/Example/Source/CodeLabelViewController.swift index 55074d8..a666d48 100644 --- a/Example/Source/CodeLabelViewController.swift +++ b/Example/Source/CodeLabelViewController.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 6/11/18. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Source/CodeTextViewController.swift b/Example/Source/CodeTextViewController.swift index 4a743f2..ec89f9e 100644 --- a/Example/Source/CodeTextViewController.swift +++ b/Example/Source/CodeTextViewController.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 8/2/17. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Source/Localizable.strings b/Example/Source/Localizable.strings index 98cb0f5..4a54c1f 100644 --- a/Example/Source/Localizable.strings +++ b/Example/Source/Localizable.strings @@ -5,4 +5,4 @@ Created by Chris De Haan on 3/14/18. Copyright © 2018 Christopher de Haan. All rights reserved. */ -"Markdown" = "# Community Rules\n\n##Rule 1: Reddit's site-wide rules\n\n\n**[Click Here](http://www.reddit.com/rules) for reddit's 6 rules.** \n\nThey are all \n`\npretty straight \nforward\n`\n and easy to understand, but if you ```\n\n\nwould like \n more information```\n about them [**Click Here**](http://www.reddit.com/wiki/faq) for reddit's Frequently Asked Questions page.\n\n**Be sure to also read [the rediquette](https://www.reddit.com/wiki/reddiquette) which is an informal guide to reddit etiquette.**\n![cat](https://upload.wikimedia.org/wikipedia/commons/thumb/1/14/Gatto_europeo4.jpg/250px-Gatto_europeo4.jpg)\n\n_____\n\n###Rule 2: Don't be a jerk\n\n\n**We're here to have a laugh; hate speech, bigotry, and personal attacks are not allowed.**\n\n**Death threats and telling others to kill themselves will result in a ban.**\n\nThis is *pretty self* explanatory.\n\n_____\n\n\n####Rule 3: Follow the correct format\n\n\n**Two line joke over a re-usable character.** \n\nWe understand that some established memes do not follow this format, such as \n\n* [What Year Is It?](http://knowyourmeme.com/memes/what-year-is-it)\n\n* [I Should Buy a Boat Cat](http://knowyourmeme.com/memes/i-should-buy-a-boat-cat)\n\n* Etc\n\nHowever, these memes are already well established and thus have been grandfathered in.\n\n**Not all image macros are memes**\n\n>Meme -\n\n>/m\u0113m/\n\n>noun\n\n>an element of a culture or system of behavior that may be considered to be passed from one individual to another by nongenetic means, esp. imitation.\n\n>[source](http://www.oxforddictionaries.com/us/definition/american_english/meme)\n\nBasically if the image is only relevant to one's own submission and can't be re-used (or has limited re-usability) then it's just an image macro and by definition not a meme.\n\n* [This is an example of a generic image macro.](https://i.imgur.com/LT1Fi3N.jpg)\n\nand\n\n* [This is an example of a meme.](https://i.imgur.com/871gSb7.jpg)\n\nMemes are allowed on the subreddit here, while generic image macros are better suited for /r/funny. \n\n_____\n\n#####Rule 4: Don't repost\n\n**Don't post stuff you found from elsewhere on the web, it's probably been here already.**\n\nThis subreddit is for original content only, meaning memes YOU made. \n\nDo not resubmit your post because it did poorly. \n\nReposting is a bannable offense.\n\nIf you see a repost please report it as such, and [send a quick note to the mods](http://www.reddit.com/message/compose?to=%2Fr%2FAdviceAnimals&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;subject=I+found+a+repost&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;message=Here+is+a+link+to+the+comment+section+of+the+repost:%0D%0A%0DAnd+here+is+proof+that+it+is+a+repost:) if you can.\n\n____\n\n######Rule 5: No Cake Day Posts\n\n**Cake Day posts are not allowed.**\n\nPosts that mention Cake Day in the title, or in the post itself will be removed.\n\n____\n\n\n##Rule 6: Verticals, Puffins and Batman Slaps\n\n**Please do not post Verticals, Opinion Puffins or Batman Slaps.**\n\nVerticals are multiple panel memes or image macros and both are better suited for either /r/funny or /r/vertical.\n\n* [This is an example of a vertical meme.](http://i.imgflip.com/bhnki.jpg)\n\n* [This is an example of a vertical image macro](https://i.imgur.com/UrHut.jpg)\n\nThis also means posts such as [9/11 Lois](http://i.imgur.com/DxdSLIo.jpg) aren't allowed; and memes such as [Nobody cares Nedry](http://i.imgur.com/P4KwK1i.jpg) and [Confused Gandalf](http://i.imgur.com/TKujvA3.jpg) are limited to their 1 panel standard, instead of their alternate vertical counterparts.\n\n2 AdviceAnimals in a vertical are OK.\n\nMeaning combining 2 established memes together such as [Socially Awkward Penguin](http://knowyourmeme.com/memes/socially-awkward-penguin) and [Socially Awesome Penguin](http://knowyourmeme.com/memes/socially-awesome-penguin) is fine.\n\n[Here is an example of its acceptable use](https://i.imgur.com/SRYGJdo.jpg)\n\n\n\n\n* [This is unpopular opinion puffin](http://i.imgur.com/qs4z4Rm.jpg)\n\n* [This is an example of a Batman Slap](https://i.imgur.com/5rrb52F.jpg)\n\n_____\n\n\n##Rule 7: Link directly to your image\n\n**Make sure you link directly to your image.**\n\nIn other words, not just to the website, or the gallery page.\n\nHere are a few examples.\n\n* OK.\n\nhttp://i.imgur.com/wdLOqmx.png\n\n\n* Not OK.\n\nhttp://imgur.com/gallery/wdLOqmx\n\nhttp://imgur.com/memegen\n\nhttp://makeameme.org/newest\n\n\n_____\n\n\n##Rule 8: People you know\n\n**Don't make memes with pics of people that you saw in real life. Ever.**\n\nDon't try to make yourself or someone you know into a meme.\n\nAlso, we do not allow witch hunts on the subreddit.\n\n_____\n\n##Rule 9: Use an approved host\n\n**Shortened links, Facebook, Tumblr, Blogspot, etc, will be automatically removed.**\n\nPlease use one of the approved websites listed on the sidebar to make your post.\n\n_____\n\n##Rule 10: Mods have the final say\n\n**We reserve the right to remove posts, remove comments, and ban users at our own discretion.**\n\nDue to the nature of the subreddit, interpretations of what is a meme and what is an image macro sometimes have different opinions and thus decisions have to be made.\n\n_____\n\n\n#[Always feel free to message the moderators if you have ANY questions!](https://www.reddit.com/message/compose?to=%2Fr%2FAdviceAnimals)"; +"Markdown" = "# Community Rules\n\n##Rule 1: Reddit's site-wide rules\n\n\n**[Click Here](http://www.reddit.com/rules) for reddit's 6 rules.** \n\nThey are all \n`\npretty straight \nforward\n`\n and ea**s**y to u_n_derstand, but if you ```\n\n\nwould like \n more information```\n about them [**Click Here**](http://www.reddit.com/wiki/faq) for reddit's Frequently Asked Questions page.\n\n**Be sure to also read [the rediquette](https://www.reddit.com/wiki/reddiquette) which is an informal guide to reddit etiquette.**\n![cat](https://upload.wikimedia.org/wikipedia/commons/thumb/1/14/Gatto_europeo4.jpg/250px-Gatto_europeo4.jpg)\n\n_____\n\n###Rule 2: Don't be a jerk\n\n\n**We're here to have a laugh; hate speech, bigotry, and personal attacks are not allowed.**\n\n**Death threats and telling others to kill themselves will result in a ban.**\n\nThis is *pretty self* explanatory.\n\n_____\n\n\n####Rule 3: Follow the correct format\n\n\n**Two line joke over a re-usable character.** \n\nWe understand that some established memes do not follow this format, such as \n\n* [What Year Is It?](http://knowyourmeme.com/memes/what-year-is-it)\n\n* [I Should Buy a Boat Cat](http://knowyourmeme.com/memes/i-should-buy-a-boat-cat)\n\n* Etc\n\nHowever, these memes are already well established and thus have been grandfathered in.\n\n**Not all image macros are memes**\n\n>Meme -\n\n>/m\u0113m/\n\n>noun\n\n>an element of a culture or system of behavior that may be considered to be passed from one individual to another by nongenetic means, esp. imitation.\n\n>[source](http://www.oxforddictionaries.com/us/definition/american_english/meme)\n\nBasically if the image is only relevant to one's own submission and can't be re-used (or has limited re-usability) then it's just an image macro and by definition not a meme.\n\n* [This is an example of a generic image macro.](https://i.imgur.com/LT1Fi3N.jpg)\n\nand\n\n* [This is an example of a meme.](https://i.imgur.com/871gSb7.jpg)\n\nMemes are allowed on the subreddit here, while generic image macros are better suited for /r/funny. \n\n_____\n\n#####Rule 4: Don't repost\n\n**Don't post stuff you found from elsewhere on the web, it's probably been here already.**\n\nThis subreddit is for original content only, meaning memes YOU made. \n\nDo not resubmit your post because it did poorly. \n\nReposting is a bannable offense.\n\nIf you see a repost please report it as such, and [send a quick note to the mods](http://www.reddit.com/message/compose?to=%2Fr%2FAdviceAnimals&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;subject=I+found+a+repost&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;message=Here+is+a+link+to+the+comment+section+of+the+repost:%0D%0A%0DAnd+here+is+proof+that+it+is+a+repost:) if you can.\n\n____\n\n######Rule 5: No Cake Day Posts\n\n**Cake Day posts are not allowed.**\n\nPosts that mention Cake Day in the title, or in the post itself will be removed.\n\n____\n\n\n##Rule 6: Verticals, Puffins and Batman Slaps\n\n**Please do not post Verticals, Opinion Puffins or Batman Slaps.**\n\nVerticals are multiple panel memes or image macros and both are better suited for either /r/funny or /r/vertical.\n\n* [This is an example of a vertical meme.](http://i.imgflip.com/bhnki.jpg)\n\n* [This is an example of a vertical image macro](https://i.imgur.com/UrHut.jpg)\n\nThis also means posts such as [9/11 Lois](http://i.imgur.com/DxdSLIo.jpg) aren't allowed; and memes such as [Nobody cares Nedry](http://i.imgur.com/P4KwK1i.jpg) and [Confused Gandalf](http://i.imgur.com/TKujvA3.jpg) are limited to their 1 panel standard, instead of their alternate vertical counterparts.\n\n2 AdviceAnimals in a vertical are OK.\n\nMeaning combining 2 established memes together such as [Socially Awkward Penguin](http://knowyourmeme.com/memes/socially-awkward-penguin) and [Socially Awesome Penguin](http://knowyourmeme.com/memes/socially-awesome-penguin) is fine.\n\n[Here is an example of its acceptable use](https://i.imgur.com/SRYGJdo.jpg)\n\n\n\n\n* [This is unpopular opinion puffin](http://i.imgur.com/qs4z4Rm.jpg)\n\n* [This is an example of a Batman Slap](https://i.imgur.com/5rrb52F.jpg)\n\n_____\n\n\n##Rule 7: Link directly to your image\n\n**Make sure you link directly to your image.**\n\nIn other words, not just to the website, or the gallery page.\n\nHere are a few examples.\n\n* OK.\n\nhttp://i.imgur.com/wdLOqmx.png\n\n\n* Not OK.\n\nhttp://imgur.com/gallery/wdLOqmx\n\nhttp://imgur.com/memegen\n\nhttp://makeameme.org/newest\n\n\n_____\n\n\n##Rule 8: People you know\n\n**Don't make memes with pics of people that you saw in real life. Ever.**\n\nDon't try to make yourself or someone you know into a meme.\n\nAlso, we do not allow witch hunts on the subreddit.\n\n_____\n\n##Rule 9: Use an approved host\n\n**Shortened links, Facebook, Tumblr, Blogspot, etc, will be automatically removed.**\n\nPlease use one of the approved websites listed on the sidebar to make your post.\n\n_____\n\n##Rule 10: Mods have the final say\n\n**We reserve the right to remove posts, remove comments, and ban users at our own discretion.**\n\nDue to the nature of the subreddit, interpretations of what is a meme and what is an image macro sometimes have different opinions and thus decisions have to be made.\n\n_____\n\n\n#[Always feel free to message the moderators if you have ANY questions!](https://www.reddit.com/message/compose?to=%2Fr%2FAdviceAnimals)"; diff --git a/Example/Source/StoryboardLabelViewController.swift b/Example/Source/StoryboardLabelViewController.swift index 35fbe34..4d1b9f5 100644 --- a/Example/Source/StoryboardLabelViewController.swift +++ b/Example/Source/StoryboardLabelViewController.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 6/11/18. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Source/StoryboardTextViewController.swift b/Example/Source/StoryboardTextViewController.swift index 51990d0..40826a2 100644 --- a/Example/Source/StoryboardTextViewController.swift +++ b/Example/Source/StoryboardTextViewController.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 6/11/18. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/LICENSE b/LICENSE index 48e0b64..4909d39 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright © 2016-2020 Christopher de Haan +Copyright © 2016-2021 Christopher de Haan Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Package.swift b/Package.swift index a25cd39..e4adf3e 100644 --- a/Package.swift +++ b/Package.swift @@ -1,10 +1,11 @@ +// swift-tools-version:5.1 // // Package.swift // CDMarkdownKit // // Created by Christopher de Haan on 05/07/2017. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -48,4 +49,3 @@ let package = Package( ) ], swiftLanguageVersions: [.v5]) -) diff --git a/README.md b/README.md index a25e2df..a43937f 100644 --- a/README.md +++ b/README.md @@ -91,7 +91,7 @@ For a demonstration of the capabilities of CDMarkdownKit; run the iOS Example pr [CocoaPods](https://cocoapods.org) is a dependency manager for Cocoa projects. For usage and installation instructions, visit their website. To integrate CDMarkdownKit into your Xcode project using CocoaPods, specify it in your `Podfile`: ```ruby -pod 'CDMarkdownKit', '2.1.0' +pod 'CDMarkdownKit', '2.1.1' ``` ### Carthage @@ -99,7 +99,7 @@ pod 'CDMarkdownKit', '2.1.0' [Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. To integrate CDMarkdownKit into your Xcode project using Carthage, specify it in your `Cartfile`: ```ogdl -github "chrisdhaan/CDMarkdownKit" == 2.1.0 +github "chrisdhaan/CDMarkdownKit" == 2.1.1 ``` ### Swift Package Manager diff --git a/Source/CDAttributedStringKey.swift b/Source/CDAttributedStringKey.swift index c38b93a..1abbf9c 100644 --- a/Source/CDAttributedStringKey.swift +++ b/Source/CDAttributedStringKey.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 6/18/18. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/CDColor+CDMarkdownKit.swift b/Source/CDColor+CDMarkdownKit.swift index 5f62690..6f25021 100644 --- a/Source/CDColor+CDMarkdownKit.swift +++ b/Source/CDColor+CDMarkdownKit.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haann on 12/12/16. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/CDColor.swift b/Source/CDColor.swift index 459febf..1be905c 100644 --- a/Source/CDColor.swift +++ b/Source/CDColor.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/18/17. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/CDFont+CDMarkdownKit.swift b/Source/CDFont+CDMarkdownKit.swift index b6ac2c4..68de765 100644 --- a/Source/CDFont+CDMarkdownKit.swift +++ b/Source/CDFont+CDMarkdownKit.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/7/16. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/CDFont.swift b/Source/CDFont.swift index 28ccd8d..0f959a7 100644 --- a/Source/CDFont.swift +++ b/Source/CDFont.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/18/17. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/CDImage+CDMarkdownKit.swift b/Source/CDImage+CDMarkdownKit.swift index ac1ebc5..404e8f8 100644 --- a/Source/CDImage+CDMarkdownKit.swift +++ b/Source/CDImage+CDMarkdownKit.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 7/23/18. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/CDImage.swift b/Source/CDImage.swift index 2daa910..6be8da5 100644 --- a/Source/CDImage.swift +++ b/Source/CDImage.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/18/17. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/CDMarkdownAutomaticLink.swift b/Source/CDMarkdownAutomaticLink.swift index 50356bd..7f86d8e 100644 --- a/Source/CDMarkdownAutomaticLink.swift +++ b/Source/CDMarkdownAutomaticLink.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/7/16. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/CDMarkdownBold.swift b/Source/CDMarkdownBold.swift index 107eabe..4bb2921 100644 --- a/Source/CDMarkdownBold.swift +++ b/Source/CDMarkdownBold.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/7/16. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -33,7 +33,7 @@ open class CDMarkdownBold: CDMarkdownCommonElement { - fileprivate static let regex = "(\\s+|^)(\\*\\*|__)(.+?)(\\2)" + fileprivate static let regex = "()(\\*\\*|__)(.*?)(\\2)" open var font: CDFont? open var color: CDColor? diff --git a/Source/CDMarkdownCode.swift b/Source/CDMarkdownCode.swift index d310bdb..42f5428 100644 --- a/Source/CDMarkdownCode.swift +++ b/Source/CDMarkdownCode.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/7/16. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/CDMarkdownCodeEscaping.swift b/Source/CDMarkdownCodeEscaping.swift index 75ceffc..a70fd20 100644 --- a/Source/CDMarkdownCodeEscaping.swift +++ b/Source/CDMarkdownCodeEscaping.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/7/16. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/CDMarkdownCommonElement.swift b/Source/CDMarkdownCommonElement.swift index a1a1a19..84f24f5 100644 --- a/Source/CDMarkdownCommonElement.swift +++ b/Source/CDMarkdownCommonElement.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/7/16. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/CDMarkdownElement.swift b/Source/CDMarkdownElement.swift index e3b8b15..21c61b3 100644 --- a/Source/CDMarkdownElement.swift +++ b/Source/CDMarkdownElement.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/7/16. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -28,7 +28,7 @@ import Foundation // The base protocol for all Markdown Elements, it handles parsing through regex. -public protocol CDMarkdownElement: class { +public protocol CDMarkdownElement: AnyObject { var regex: String { get } diff --git a/Source/CDMarkdownEscaping.swift b/Source/CDMarkdownEscaping.swift index 4f40037..2ed9811 100644 --- a/Source/CDMarkdownEscaping.swift +++ b/Source/CDMarkdownEscaping.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/7/16. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/CDMarkdownHeader.swift b/Source/CDMarkdownHeader.swift index 3a50c36..a89f410 100644 --- a/Source/CDMarkdownHeader.swift +++ b/Source/CDMarkdownHeader.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/7/16. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/CDMarkdownImage.swift b/Source/CDMarkdownImage.swift index 6a54710..9cff535 100644 --- a/Source/CDMarkdownImage.swift +++ b/Source/CDMarkdownImage.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 12/15/16. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/CDMarkdownItalic.swift b/Source/CDMarkdownItalic.swift index 39085b5..586dbd9 100644 --- a/Source/CDMarkdownItalic.swift +++ b/Source/CDMarkdownItalic.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/7/16. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -33,7 +33,7 @@ open class CDMarkdownItalic: CDMarkdownCommonElement { - fileprivate static let regex = "(\\s+|^)(\\*|_)(.+?)(\\2)" + fileprivate static let regex = "()(\\*|_)(.*?)(\\2)" open var font: CDFont? open var color: CDColor? diff --git a/Source/CDMarkdownKit.h b/Source/CDMarkdownKit.h index 0f17a63..c3a1e6e 100644 --- a/Source/CDMarkdownKit.h +++ b/Source/CDMarkdownKit.h @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 8/2/17. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/CDMarkdownLabel.swift b/Source/CDMarkdownLabel.swift index 4f55f01..becbee7 100644 --- a/Source/CDMarkdownLabel.swift +++ b/Source/CDMarkdownLabel.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 12/14/16. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -35,7 +35,7 @@ import SafariServices import UIKit -public protocol CDMarkdownLabelDelegate: class { +public protocol CDMarkdownLabelDelegate: AnyObject { func didSelect(_ url: URL) } diff --git a/Source/CDMarkdownLayoutManager.swift b/Source/CDMarkdownLayoutManager.swift index aa12b05..df614bf 100644 --- a/Source/CDMarkdownLayoutManager.swift +++ b/Source/CDMarkdownLayoutManager.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 12/8/16. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/CDMarkdownLevelElement.swift b/Source/CDMarkdownLevelElement.swift index 240d497..672c122 100644 --- a/Source/CDMarkdownLevelElement.swift +++ b/Source/CDMarkdownLevelElement.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/7/16. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/CDMarkdownLink.swift b/Source/CDMarkdownLink.swift index b29a2fc..9a4baf5 100644 --- a/Source/CDMarkdownLink.swift +++ b/Source/CDMarkdownLink.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/7/16. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/CDMarkdownLinkElement.swift b/Source/CDMarkdownLinkElement.swift index 89bad35..631d263 100644 --- a/Source/CDMarkdownLinkElement.swift +++ b/Source/CDMarkdownLinkElement.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/7/16. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/CDMarkdownList.swift b/Source/CDMarkdownList.swift index 5e68484..ed6f677 100644 --- a/Source/CDMarkdownList.swift +++ b/Source/CDMarkdownList.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/7/16. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/CDMarkdownParser.swift b/Source/CDMarkdownParser.swift index af7e47c..0d73efd 100644 --- a/Source/CDMarkdownParser.swift +++ b/Source/CDMarkdownParser.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/7/16. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -139,7 +139,7 @@ open class CDMarkdownParser { self.automaticLinkDetectionEnabled = automaticLinkDetectionEnabled self.escapingElements = [codeEscaping, escaping] #if os(iOS) || os(macOS) || os(tvOS) - self.defaultElements = [header, list, quote, link, automaticLink, bold, italic, image] + self.defaultElements = [header, list, quote, link, automaticLink, image, bold, italic] #else self.defaultElements = [header, list, quote, link, automaticLink, bold, italic] #endif diff --git a/Source/CDMarkdownQuote.swift b/Source/CDMarkdownQuote.swift index 716fdd1..3a6229b 100644 --- a/Source/CDMarkdownQuote.swift +++ b/Source/CDMarkdownQuote.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/7/16. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/CDMarkdownStyle.swift b/Source/CDMarkdownStyle.swift index 13427a6..9116cd2 100644 --- a/Source/CDMarkdownStyle.swift +++ b/Source/CDMarkdownStyle.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/7/16. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/CDMarkdownSyntax.swift b/Source/CDMarkdownSyntax.swift index 893515c..e46506f 100644 --- a/Source/CDMarkdownSyntax.swift +++ b/Source/CDMarkdownSyntax.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/10/16. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/CDMarkdownTextView.swift b/Source/CDMarkdownTextView.swift index de96473..94cb89e 100644 --- a/Source/CDMarkdownTextView.swift +++ b/Source/CDMarkdownTextView.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 12/8/16. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/CDMarkdownUnescaping.swift b/Source/CDMarkdownUnescaping.swift index eb85ebe..acb7669 100644 --- a/Source/CDMarkdownUnescaping.swift +++ b/Source/CDMarkdownUnescaping.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/7/16. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/Dictionary+CDMarkdownKit.swift b/Source/Dictionary+CDMarkdownKit.swift index 87c8680..65515d9 100644 --- a/Source/Dictionary+CDMarkdownKit.swift +++ b/Source/Dictionary+CDMarkdownKit.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/28/18. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/NSAttributedString+CDMarkdownKit.swift b/Source/NSAttributedString+CDMarkdownKit.swift index 5c9b332..6a63c8d 100644 --- a/Source/NSAttributedString+CDMarkdownKit.swift +++ b/Source/NSAttributedString+CDMarkdownKit.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/30/18. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/NSMutableAttributedString+CDMarkdownKit.swift b/Source/NSMutableAttributedString+CDMarkdownKit.swift index b507f37..10d1125 100644 --- a/Source/NSMutableAttributedString+CDMarkdownKit.swift +++ b/Source/NSMutableAttributedString+CDMarkdownKit.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/30/18. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/NSTextCheckingResult+CDMarkdownKit.swift b/Source/NSTextCheckingResult+CDMarkdownKit.swift index 3794c7c..9e14982 100644 --- a/Source/NSTextCheckingResult+CDMarkdownKit.swift +++ b/Source/NSTextCheckingResult+CDMarkdownKit.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/30/18. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/NSTextStorage+CDMarkdownKit.swift b/Source/NSTextStorage+CDMarkdownKit.swift index b3d13da..5a6e4df 100644 --- a/Source/NSTextStorage+CDMarkdownKit.swift +++ b/Source/NSTextStorage+CDMarkdownKit.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/30/18. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Source/String+CDMarkdownKit.swift b/Source/String+CDMarkdownKit.swift index 5b1416e..71b371e 100644 --- a/Source/String+CDMarkdownKit.swift +++ b/Source/String+CDMarkdownKit.swift @@ -4,7 +4,7 @@ // // Created by Christopher de Haan on 11/7/16. // -// Copyright © 2016-2020 Christopher de Haan +// Copyright © 2016-2021 Christopher de Haan // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal