Repository: OliverLetterer/GHMarkdownParser
Branch: master
Commit: 5eeb6c7fbfc6
Files: 17
Total size: 43.9 KB
Directory structure:
gitextract_9hbw4up9/
├── .gitattributes
├── .gitignore
├── .gitmodules
├── GHMarkdownParser/
│ ├── GHMarkdownParser/
│ │ ├── Foundation and Class Additions/
│ │ │ ├── NSString+GHMarkdownParser.h
│ │ │ └── NSString+GHMarkdownParser.m
│ │ ├── GHMarkdownParser-Prefix.pch
│ │ ├── GHMarkdownParser.h
│ │ └── GHMarkdownParser.m
│ ├── GHMarkdownParser.xcodeproj/
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ └── GHMarkdownParser.xccheckout
│ │ └── xcshareddata/
│ │ └── xcschemes/
│ │ └── GHMarkdownParser.xcscheme
│ ├── GHMarkdownParser2/
│ │ └── Info.plist
│ └── module.modulemap
├── GHMarkdownParser.podspec
├── LICENSE.md
└── README.md
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitattributes
================================================
*.pbxproj -crlf -diff -merge
================================================
FILE: .gitignore
================================================
# xcode noise
*.mode1v3
*.pbxuser
*.perspective
*.perspectivev3
*.pyc
*~.nib/
build/
xcuserdata/
xcuserdata/*
*.xcuserdatad/
# Textmate - if you build your xcode projects with it
*.tm_build_errors
# old skool
.svn
# osx noise
.DS_Store
profile
================================================
FILE: .gitmodules
================================================
[submodule "discount"]
path = discount
url = https://github.com/OliverLetterer/discount.git
================================================
FILE: GHMarkdownParser/GHMarkdownParser/Foundation and Class Additions/NSString+GHMarkdownParser.h
================================================
//
// NSString+GHMarkdownParser.h
// GHMarkdownParser
//
// Created by Oliver Letterer on 01.08.11.
// Copyright 2011 Home. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface NSString (GHMarkdownParser)
@property (nonatomic, readonly) NSString *HTMLStringFromMarkdown;
@property (nonatomic, readonly) NSString *flavoredHTMLStringFromMarkdown;
@end
================================================
FILE: GHMarkdownParser/GHMarkdownParser/Foundation and Class Additions/NSString+GHMarkdownParser.m
================================================
//
// NSString+GHMarkdownParser.m
// GHMarkdownParser
//
// Created by Oliver Letterer on 01.08.11.
// Copyright 2011 Home. All rights reserved.
//
#import "NSString+GHMarkdownParser.h"
#import <GHMarkdownParser/GHMarkdownParser.h>
@implementation NSString (GHMarkdownParser)
- (NSString *)HTMLStringFromMarkdown {
return [GHMarkdownParser HTMLStringFromMarkdownString:self];
}
- (NSString *)flavoredHTMLStringFromMarkdown {
return [GHMarkdownParser flavoredHTMLStringFromMarkdownString:self];
}
@end
================================================
FILE: GHMarkdownParser/GHMarkdownParser/GHMarkdownParser-Prefix.pch
================================================
//
// Prefix header for all source files of the 'GHMarkdownParser' target in the 'GHMarkdownParser' project
//
#ifdef __OBJC__
#import <Foundation/Foundation.h>
#endif
# define ALog(format, ...) NSLog((@"%s [%d] " format), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
# ifdef DEBUG
# define DLog(format, ...) ALog(format, ##__VA_ARGS__);
# else
# define DLog(...)
# endif
================================================
FILE: GHMarkdownParser/GHMarkdownParser/GHMarkdownParser.h
================================================
//
// GHMarkdownParser.h
// GHMarkdownParser
//
// Created by Oliver Letterer on 01.08.11.
// Copyright 2011 Home. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GHMarkdownParser/NSString+GHMarkdownParser.h>
/** Option flags for Markdown parsing. */
typedef enum {
kGHMarkdownNoLinks = 0x00000001, //< Don't allow links at all
kGHMarkdownNoImages = 0x00000002, //< Don't allow images
kGHMarkdownNoSmartQuotes = 0x00000004, //< Don't convert ASCII quotes
kGHMarkdownNoHTMLTags = 0x00000008, //< Don't allow any HTML tags in the input
kGHMarkdownStrict = 0x00000010, //< Don't allow emphasis in mid-word
kGHMarkdownAutoLink = 0x00004000, //< Convert URLs in the input to links
kGHMarkdownSafeLinks = 0x00008000 //< Only allow http:, https:, ftp: links
// These MUST match the values of the "MKD_..." constants defined in mkdio.h!
// FYI, there are more of these implemented by Discount that aren't exposed here.
} GHMarkdownOptions;
/** Parses human-readable input in the Markdown format and converts it to HTML. */
@interface GHMarkdownParser : NSObject
/** Option flags for Markdown parsing. By default these are all off. */
@property (nonatomic, assign) GHMarkdownOptions options;
/** If set, Github-Flavored Markdown extensions are supported. */
@property (nonatomic, assign) BOOL githubFlavored;
/** If set, relative URLs will be prefixed with this absolute URL. */
@property (nonatomic, strong) NSURL *baseURL;
/** Converts a Markdown string to HTML using this parser instance's settings. */
- (NSString *)HTMLStringFromMarkdownString:(NSString *)markdownString;
/** Convenience method that converts Markdown with the default settings. */
+ (NSString *)HTMLStringFromMarkdownString:(NSString *)markdownString;
/** Convenience method that converts Github-flavored Markdown with otherwise-default settings. */
+ (NSString *)flavoredHTMLStringFromMarkdownString:(NSString *)markdownString;
@end
================================================
FILE: GHMarkdownParser/GHMarkdownParser/GHMarkdownParser.m
================================================
//
// GHMarkdownParser.m
// GHMarkdownParser
//
// Created by Oliver Letterer on 01.08.11.
// Copyright 2011 Home. All rights reserved.
//
#import "GHMarkdownParser.h"
#import "markdown.h"
#if !__has_feature(objc_arc)
#error This project requires arc
#endif
// Declared in mkdio.h, but we can't include that after including markdown.
extern void mkd_with_html5_tags(void);
@implementation GHMarkdownParser
+ (void)initialize {
// Enable recognition of HTML5 tags
mkd_with_html5_tags();
}
+ (NSString *)HTMLStringFromMarkdownString:(NSString *)markdownString {
GHMarkdownParser *parser = [[self alloc] init];
NSString *html = [parser HTMLStringFromMarkdownString:markdownString];
return html;
}
+ (NSString *)flavoredHTMLStringFromMarkdownString:(NSString *)markdownString {
GHMarkdownParser *parser = [[self alloc] init];
parser.githubFlavored = YES;
NSString *html = [parser HTMLStringFromMarkdownString:markdownString];
return html;
}
- (NSString *)HTMLStringFromMarkdownString:(NSString *)markdownString {
NSData *mdData = [markdownString dataUsingEncoding:NSUTF8StringEncoding];
Document *document;
if (_githubFlavored) {
document = gfm_string(mdData.bytes, (int)mdData.length, _options);
} else {
document = mkd_string(mdData.bytes, (int)mdData.length, _options);
}
if (!document) {
return nil;
}
if (_baseURL) {
mkd_basename(document, (char*)_baseURL.absoluteString.UTF8String);
}
NSString *html = nil;
if (mkd_compile(document, _options)) {
char *HTMLUTF8 = NULL;
int length = mkd_document(document, &HTMLUTF8);
if (length >= 0) {
html = [[NSString alloc] initWithBytes:HTMLUTF8
length:length
encoding:NSUTF8StringEncoding];
}
mkd_cleanup(document);
}
return html;
}
@end
================================================
FILE: GHMarkdownParser/GHMarkdownParser.xcodeproj/project.pbxproj
================================================
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
27051FB318CD052A0050AC52 /* github_flavoured.c in Sources */ = {isa = PBXBuildFile; fileRef = 27051FB118CD052A0050AC52 /* github_flavoured.c */; };
27051FB618CD05AD0050AC52 /* basename.c in Sources */ = {isa = PBXBuildFile; fileRef = 27051FB418CD05AD0050AC52 /* basename.c */; };
279A7E8A18A89AB8007AA2CC /* GHMarkdownParser.m in Sources */ = {isa = PBXBuildFile; fileRef = A7C525FB13E6FE1A0003EEE5 /* GHMarkdownParser.m */; };
279A7E8B18A89AB8007AA2CC /* mkdio.c in Sources */ = {isa = PBXBuildFile; fileRef = A7C5260313E700910003EEE5 /* mkdio.c */; };
279A7E8C18A89AB8007AA2CC /* markdown.c in Sources */ = {isa = PBXBuildFile; fileRef = A7C5260713E700A00003EEE5 /* markdown.c */; };
279A7E8D18A89AB8007AA2CC /* generate.c in Sources */ = {isa = PBXBuildFile; fileRef = A7C5260B13E700AD0003EEE5 /* generate.c */; };
279A7E8E18A89AB8007AA2CC /* resource.c in Sources */ = {isa = PBXBuildFile; fileRef = A7C5260D13E700B80003EEE5 /* resource.c */; };
279A7E8F18A89AB8007AA2CC /* xml.c in Sources */ = {isa = PBXBuildFile; fileRef = A7C5260F13E700C20003EEE5 /* xml.c */; };
279A7E9018A89AB8007AA2CC /* Csio.c in Sources */ = {isa = PBXBuildFile; fileRef = A7C5261113E700CB0003EEE5 /* Csio.c */; };
279A7E9118A89AB8007AA2CC /* emmatch.c in Sources */ = {isa = PBXBuildFile; fileRef = A7C5261313E700D50003EEE5 /* emmatch.c */; };
279A7E9218A89AB8007AA2CC /* html5.c in Sources */ = {isa = PBXBuildFile; fileRef = A7C5261513E700DE0003EEE5 /* html5.c */; };
279A7E9318A89AB8007AA2CC /* tags.c in Sources */ = {isa = PBXBuildFile; fileRef = A7C5261713E700E80003EEE5 /* tags.c */; };
279A7E9418A89AB8007AA2CC /* setup.c in Sources */ = {isa = PBXBuildFile; fileRef = A7C5261D13E7012B0003EEE5 /* setup.c */; };
279A7E9518A89AB8007AA2CC /* NSString+GHMarkdownParser.m in Sources */ = {isa = PBXBuildFile; fileRef = A744F57D13E737DF0038C189 /* NSString+GHMarkdownParser.m */; };
279A7E9718A89AB8007AA2CC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A7C525F513E6FE1A0003EEE5 /* Foundation.framework */; };
279A7E9918A89AB8007AA2CC /* mkdio.h in Headers */ = {isa = PBXBuildFile; fileRef = A7C5260413E700910003EEE5 /* mkdio.h */; };
279A7E9A18A89AB8007AA2CC /* markdown.h in Headers */ = {isa = PBXBuildFile; fileRef = A7C5260813E700A00003EEE5 /* markdown.h */; };
279A7E9B18A89AB8007AA2CC /* tags.h in Headers */ = {isa = PBXBuildFile; fileRef = A7C5261B13E7010A0003EEE5 /* tags.h */; };
279A7E9C18A89AB8007AA2CC /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = A7C5261F13E7013E0003EEE5 /* config.h */; };
279A7E9D18A89AB8007AA2CC /* NSString+GHMarkdownParser.h in Headers */ = {isa = PBXBuildFile; fileRef = A744F57C13E737DF0038C189 /* NSString+GHMarkdownParser.h */; };
AEF02AC01D80BE83005AFFEA /* GHMarkdownParser.h in Headers */ = {isa = PBXBuildFile; fileRef = A7C525FA13E6FE1A0003EEE5 /* GHMarkdownParser.h */; settings = {ATTRIBUTES = (Public, ); }; };
AEF02AC11D80BEB0005AFFEA /* NSString+GHMarkdownParser.h in Headers */ = {isa = PBXBuildFile; fileRef = A744F57C13E737DF0038C189 /* NSString+GHMarkdownParser.h */; settings = {ATTRIBUTES = (Public, ); }; };
AEF02AC21D80BEB3005AFFEA /* NSString+GHMarkdownParser.m in Sources */ = {isa = PBXBuildFile; fileRef = A744F57D13E737DF0038C189 /* NSString+GHMarkdownParser.m */; };
AEF02AC31D80BF1C005AFFEA /* GHMarkdownParser.m in Sources */ = {isa = PBXBuildFile; fileRef = A7C525FB13E6FE1A0003EEE5 /* GHMarkdownParser.m */; };
AEF02AC41D80BFBC005AFFEA /* blocktags in Resources */ = {isa = PBXBuildFile; fileRef = A744F55A13E728CD0038C189 /* blocktags */; };
AEF02AC51D80BFBC005AFFEA /* basename.c in Sources */ = {isa = PBXBuildFile; fileRef = 27051FB418CD05AD0050AC52 /* basename.c */; };
AEF02AC61D80BFBC005AFFEA /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = A7C5261F13E7013E0003EEE5 /* config.h */; settings = {ATTRIBUTES = (Public, ); }; };
AEF02AC71D80BFBC005AFFEA /* Csio.c in Sources */ = {isa = PBXBuildFile; fileRef = A7C5261113E700CB0003EEE5 /* Csio.c */; };
AEF02AC81D80BFBC005AFFEA /* emmatch.c in Sources */ = {isa = PBXBuildFile; fileRef = A7C5261313E700D50003EEE5 /* emmatch.c */; };
AEF02AC91D80BFBC005AFFEA /* generate.c in Sources */ = {isa = PBXBuildFile; fileRef = A7C5260B13E700AD0003EEE5 /* generate.c */; };
AEF02ACA1D80BFBC005AFFEA /* github_flavoured.c in Sources */ = {isa = PBXBuildFile; fileRef = 27051FB118CD052A0050AC52 /* github_flavoured.c */; };
AEF02ACB1D80BFBC005AFFEA /* html5.c in Sources */ = {isa = PBXBuildFile; fileRef = A7C5261513E700DE0003EEE5 /* html5.c */; };
AEF02ACC1D80BFBC005AFFEA /* markdown.c in Sources */ = {isa = PBXBuildFile; fileRef = A7C5260713E700A00003EEE5 /* markdown.c */; };
AEF02ACD1D80BFBC005AFFEA /* markdown.h in Headers */ = {isa = PBXBuildFile; fileRef = A7C5260813E700A00003EEE5 /* markdown.h */; settings = {ATTRIBUTES = (Public, ); }; };
AEF02ACE1D80BFBC005AFFEA /* mkdio.c in Sources */ = {isa = PBXBuildFile; fileRef = A7C5260313E700910003EEE5 /* mkdio.c */; };
AEF02ACF1D80BFBC005AFFEA /* mkdio.h in Headers */ = {isa = PBXBuildFile; fileRef = A7C5260413E700910003EEE5 /* mkdio.h */; settings = {ATTRIBUTES = (Public, ); }; };
AEF02AD01D80BFBC005AFFEA /* resource.c in Sources */ = {isa = PBXBuildFile; fileRef = A7C5260D13E700B80003EEE5 /* resource.c */; };
AEF02AD11D80BFBC005AFFEA /* setup.c in Sources */ = {isa = PBXBuildFile; fileRef = A7C5261D13E7012B0003EEE5 /* setup.c */; };
AEF02AD21D80BFBC005AFFEA /* tags.c in Sources */ = {isa = PBXBuildFile; fileRef = A7C5261713E700E80003EEE5 /* tags.c */; };
AEF02AD31D80BFBC005AFFEA /* tags.h in Headers */ = {isa = PBXBuildFile; fileRef = A7C5261B13E7010A0003EEE5 /* tags.h */; settings = {ATTRIBUTES = (Public, ); }; };
AEF02AD41D80BFBC005AFFEA /* xml.c in Sources */ = {isa = PBXBuildFile; fileRef = A7C5260F13E700C20003EEE5 /* xml.c */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
27051FB118CD052A0050AC52 /* github_flavoured.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.c; name = github_flavoured.c; path = ../../discount/github_flavoured.c; sourceTree = "<group>"; tabWidth = 2; usesTabs = 1; };
27051FB418CD05AD0050AC52 /* basename.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.c; name = basename.c; path = ../../discount/basename.c; sourceTree = "<group>"; tabWidth = 2; usesTabs = 1; };
279A7EA118A89AB8007AA2CC /* libGHMarkdownParser_Mac.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libGHMarkdownParser_Mac.a; sourceTree = BUILT_PRODUCTS_DIR; };
A744F55A13E728CD0038C189 /* blocktags */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = blocktags; path = ../../discount/blocktags; sourceTree = "<group>"; };
A744F57C13E737DF0038C189 /* NSString+GHMarkdownParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+GHMarkdownParser.h"; sourceTree = "<group>"; };
A744F57D13E737DF0038C189 /* NSString+GHMarkdownParser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+GHMarkdownParser.m"; sourceTree = "<group>"; };
A7C525F513E6FE1A0003EEE5 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
A7C525F913E6FE1A0003EEE5 /* GHMarkdownParser-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "GHMarkdownParser-Prefix.pch"; sourceTree = "<group>"; };
A7C525FA13E6FE1A0003EEE5 /* GHMarkdownParser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GHMarkdownParser.h; sourceTree = "<group>"; };
A7C525FB13E6FE1A0003EEE5 /* GHMarkdownParser.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GHMarkdownParser.m; sourceTree = "<group>"; };
A7C5260313E700910003EEE5 /* mkdio.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.c; name = mkdio.c; path = ../../discount/mkdio.c; sourceTree = "<group>"; tabWidth = 2; usesTabs = 1; };
A7C5260413E700910003EEE5 /* mkdio.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = mkdio.h; path = ../../discount/mkdio.h; sourceTree = "<group>"; tabWidth = 2; usesTabs = 1; };
A7C5260713E700A00003EEE5 /* markdown.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.c; name = markdown.c; path = ../../discount/markdown.c; sourceTree = "<group>"; tabWidth = 2; usesTabs = 1; };
A7C5260813E700A00003EEE5 /* markdown.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = markdown.h; path = ../../discount/markdown.h; sourceTree = "<group>"; tabWidth = 2; usesTabs = 1; };
A7C5260B13E700AD0003EEE5 /* generate.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.c; name = generate.c; path = ../../discount/generate.c; sourceTree = "<group>"; tabWidth = 8; usesTabs = 1; };
A7C5260D13E700B80003EEE5 /* resource.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.c; name = resource.c; path = ../../discount/resource.c; sourceTree = "<group>"; tabWidth = 2; usesTabs = 1; };
A7C5260F13E700C20003EEE5 /* xml.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.c; name = xml.c; path = ../../discount/xml.c; sourceTree = "<group>"; tabWidth = 2; usesTabs = 1; };
A7C5261113E700CB0003EEE5 /* Csio.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.c; name = Csio.c; path = ../../discount/Csio.c; sourceTree = "<group>"; tabWidth = 2; usesTabs = 1; };
A7C5261313E700D50003EEE5 /* emmatch.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.c; name = emmatch.c; path = ../../discount/emmatch.c; sourceTree = "<group>"; tabWidth = 2; usesTabs = 1; };
A7C5261513E700DE0003EEE5 /* html5.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.c; name = html5.c; path = ../../discount/html5.c; sourceTree = "<group>"; tabWidth = 2; usesTabs = 1; };
A7C5261713E700E80003EEE5 /* tags.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.c; name = tags.c; path = ../../discount/tags.c; sourceTree = "<group>"; tabWidth = 2; usesTabs = 1; };
A7C5261B13E7010A0003EEE5 /* tags.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = tags.h; path = ../../discount/tags.h; sourceTree = "<group>"; tabWidth = 2; usesTabs = 1; };
A7C5261D13E7012B0003EEE5 /* setup.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.c; name = setup.c; path = ../../discount/setup.c; sourceTree = "<group>"; tabWidth = 2; usesTabs = 1; };
A7C5261F13E7013E0003EEE5 /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = config.h; path = ../../discount/config.h; sourceTree = "<group>"; tabWidth = 2; usesTabs = 1; };
AE5D620A1D806FC1004CA05D /* GHMarkdownParser.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = GHMarkdownParser.framework; sourceTree = BUILT_PRODUCTS_DIR; };
AE5D620E1D806FC1004CA05D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = GHMarkdownParser2/Info.plist; sourceTree = SOURCE_ROOT; };
AEF02ABF1D80BDF5005AFFEA /* module.modulemap */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.module-map"; name = module.modulemap; path = ../module.modulemap; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
279A7E9618A89AB8007AA2CC /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
279A7E9718A89AB8007AA2CC /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
AE5D62061D806FC1004CA05D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
A744F57A13E737880038C189 /* Foundation and Class Additions */ = {
isa = PBXGroup;
children = (
A744F57C13E737DF0038C189 /* NSString+GHMarkdownParser.h */,
A744F57D13E737DF0038C189 /* NSString+GHMarkdownParser.m */,
);
path = "Foundation and Class Additions";
sourceTree = "<group>";
};
A7C525E713E6FE1A0003EEE5 = {
isa = PBXGroup;
children = (
A7C525F713E6FE1A0003EEE5 /* GHMarkdownParser */,
A7C525F413E6FE1A0003EEE5 /* Frameworks */,
A7C525F313E6FE1A0003EEE5 /* Products */,
);
sourceTree = "<group>";
};
A7C525F313E6FE1A0003EEE5 /* Products */ = {
isa = PBXGroup;
children = (
279A7EA118A89AB8007AA2CC /* libGHMarkdownParser_Mac.a */,
AE5D620A1D806FC1004CA05D /* GHMarkdownParser.framework */,
);
name = Products;
sourceTree = "<group>";
};
A7C525F413E6FE1A0003EEE5 /* Frameworks */ = {
isa = PBXGroup;
children = (
A7C525F513E6FE1A0003EEE5 /* Foundation.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
A7C525F713E6FE1A0003EEE5 /* GHMarkdownParser */ = {
isa = PBXGroup;
children = (
AEF02ABF1D80BDF5005AFFEA /* module.modulemap */,
AE5D620E1D806FC1004CA05D /* Info.plist */,
A744F57A13E737880038C189 /* Foundation and Class Additions */,
A7C5260213E700730003EEE5 /* discount */,
A7C525FA13E6FE1A0003EEE5 /* GHMarkdownParser.h */,
A7C525FB13E6FE1A0003EEE5 /* GHMarkdownParser.m */,
A7C525F813E6FE1A0003EEE5 /* Supporting Files */,
);
path = GHMarkdownParser;
sourceTree = "<group>";
};
A7C525F813E6FE1A0003EEE5 /* Supporting Files */ = {
isa = PBXGroup;
children = (
A7C525F913E6FE1A0003EEE5 /* GHMarkdownParser-Prefix.pch */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
A7C5260213E700730003EEE5 /* discount */ = {
isa = PBXGroup;
children = (
A744F55A13E728CD0038C189 /* blocktags */,
27051FB418CD05AD0050AC52 /* basename.c */,
A7C5261F13E7013E0003EEE5 /* config.h */,
A7C5261113E700CB0003EEE5 /* Csio.c */,
A7C5261313E700D50003EEE5 /* emmatch.c */,
A7C5260B13E700AD0003EEE5 /* generate.c */,
27051FB118CD052A0050AC52 /* github_flavoured.c */,
A7C5261513E700DE0003EEE5 /* html5.c */,
A7C5260713E700A00003EEE5 /* markdown.c */,
A7C5260813E700A00003EEE5 /* markdown.h */,
A7C5260313E700910003EEE5 /* mkdio.c */,
A7C5260413E700910003EEE5 /* mkdio.h */,
A7C5260D13E700B80003EEE5 /* resource.c */,
A7C5261D13E7012B0003EEE5 /* setup.c */,
A7C5261713E700E80003EEE5 /* tags.c */,
A7C5261B13E7010A0003EEE5 /* tags.h */,
A7C5260F13E700C20003EEE5 /* xml.c */,
);
name = discount;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
279A7E9818A89AB8007AA2CC /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
279A7E9918A89AB8007AA2CC /* mkdio.h in Headers */,
279A7E9A18A89AB8007AA2CC /* markdown.h in Headers */,
279A7E9B18A89AB8007AA2CC /* tags.h in Headers */,
279A7E9C18A89AB8007AA2CC /* config.h in Headers */,
279A7E9D18A89AB8007AA2CC /* NSString+GHMarkdownParser.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
AE5D62071D806FC1004CA05D /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
AEF02AC01D80BE83005AFFEA /* GHMarkdownParser.h in Headers */,
AEF02ACF1D80BFBC005AFFEA /* mkdio.h in Headers */,
AEF02AD31D80BFBC005AFFEA /* tags.h in Headers */,
AEF02AC61D80BFBC005AFFEA /* config.h in Headers */,
AEF02ACD1D80BFBC005AFFEA /* markdown.h in Headers */,
AEF02AC11D80BEB0005AFFEA /* NSString+GHMarkdownParser.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
279A7E8818A89AB8007AA2CC /* GHMarkdownParser Mac */ = {
isa = PBXNativeTarget;
buildConfigurationList = 279A7E9E18A89AB8007AA2CC /* Build configuration list for PBXNativeTarget "GHMarkdownParser Mac" */;
buildPhases = (
279A7E8918A89AB8007AA2CC /* Sources */,
279A7E9618A89AB8007AA2CC /* Frameworks */,
279A7E9818A89AB8007AA2CC /* Headers */,
);
buildRules = (
);
dependencies = (
);
name = "GHMarkdownParser Mac";
productName = GHMarkdownParser;
productReference = 279A7EA118A89AB8007AA2CC /* libGHMarkdownParser_Mac.a */;
productType = "com.apple.product-type.library.static";
};
AE5D62091D806FC1004CA05D /* GHMarkdownParser */ = {
isa = PBXNativeTarget;
buildConfigurationList = AE5D62111D806FC1004CA05D /* Build configuration list for PBXNativeTarget "GHMarkdownParser" */;
buildPhases = (
AE5D62051D806FC1004CA05D /* Sources */,
AE5D62061D806FC1004CA05D /* Frameworks */,
AE5D62071D806FC1004CA05D /* Headers */,
AE5D62081D806FC1004CA05D /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = GHMarkdownParser;
productName = GHMarkdownParser2;
productReference = AE5D620A1D806FC1004CA05D /* GHMarkdownParser.framework */;
productType = "com.apple.product-type.framework";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
A7C525E913E6FE1A0003EEE5 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0510;
ORGANIZATIONNAME = Home;
TargetAttributes = {
AE5D62091D806FC1004CA05D = {
CreatedOnToolsVersion = 7.3.1;
};
};
};
buildConfigurationList = A7C525EC13E6FE1A0003EEE5 /* Build configuration list for PBXProject "GHMarkdownParser" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = A7C525E713E6FE1A0003EEE5;
productRefGroup = A7C525F313E6FE1A0003EEE5 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
279A7E8818A89AB8007AA2CC /* GHMarkdownParser Mac */,
AE5D62091D806FC1004CA05D /* GHMarkdownParser */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
AE5D62081D806FC1004CA05D /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
AEF02AC41D80BFBC005AFFEA /* blocktags in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
279A7E8918A89AB8007AA2CC /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
279A7E8A18A89AB8007AA2CC /* GHMarkdownParser.m in Sources */,
27051FB618CD05AD0050AC52 /* basename.c in Sources */,
27051FB318CD052A0050AC52 /* github_flavoured.c in Sources */,
279A7E8B18A89AB8007AA2CC /* mkdio.c in Sources */,
279A7E8C18A89AB8007AA2CC /* markdown.c in Sources */,
279A7E8D18A89AB8007AA2CC /* generate.c in Sources */,
279A7E8E18A89AB8007AA2CC /* resource.c in Sources */,
279A7E8F18A89AB8007AA2CC /* xml.c in Sources */,
279A7E9018A89AB8007AA2CC /* Csio.c in Sources */,
279A7E9118A89AB8007AA2CC /* emmatch.c in Sources */,
279A7E9218A89AB8007AA2CC /* html5.c in Sources */,
279A7E9318A89AB8007AA2CC /* tags.c in Sources */,
279A7E9418A89AB8007AA2CC /* setup.c in Sources */,
279A7E9518A89AB8007AA2CC /* NSString+GHMarkdownParser.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
AE5D62051D806FC1004CA05D /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
AEF02AD21D80BFBC005AFFEA /* tags.c in Sources */,
AEF02ACE1D80BFBC005AFFEA /* mkdio.c in Sources */,
AEF02AC51D80BFBC005AFFEA /* basename.c in Sources */,
AEF02AD41D80BFBC005AFFEA /* xml.c in Sources */,
AEF02AD01D80BFBC005AFFEA /* resource.c in Sources */,
AEF02ACC1D80BFBC005AFFEA /* markdown.c in Sources */,
AEF02AC71D80BFBC005AFFEA /* Csio.c in Sources */,
AEF02ACB1D80BFBC005AFFEA /* html5.c in Sources */,
AEF02ACA1D80BFBC005AFFEA /* github_flavoured.c in Sources */,
AEF02AC81D80BFBC005AFFEA /* emmatch.c in Sources */,
AEF02AC31D80BF1C005AFFEA /* GHMarkdownParser.m in Sources */,
AEF02AD11D80BFBC005AFFEA /* setup.c in Sources */,
AEF02AC91D80BFBC005AFFEA /* generate.c in Sources */,
AEF02AC21D80BEB3005AFFEA /* NSString+GHMarkdownParser.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
279A7E9F18A89AB8007AA2CC /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
DSTROOT = /tmp/GHMarkdownParser.dst;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "GHMarkdownParser/GHMarkdownParser-Prefix.pch";
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = GHMarkdownParser_Mac;
SKIP_INSTALL = YES;
};
name = Debug;
};
279A7EA018A89AB8007AA2CC /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
DSTROOT = /tmp/GHMarkdownParser.dst;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "GHMarkdownParser/GHMarkdownParser-Prefix.pch";
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = GHMarkdownParser_Mac;
SKIP_INSTALL = YES;
};
name = Release;
};
A7C525FD13E6FE1A0003EEE5 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_MISSING_PARENTHESES = NO;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = "../discount/**";
IPHONEOS_DEPLOYMENT_TARGET = 5.0;
LD_RUNPATH_SEARCH_PATHS = "";
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
};
name = Debug;
};
A7C525FE13E6FE1A0003EEE5 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_MISSING_PARENTHESES = NO;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = "../discount/**";
IPHONEOS_DEPLOYMENT_TARGET = 5.0;
LD_RUNPATH_SEARCH_PATHS = "";
SDKROOT = macosx;
VALIDATE_PRODUCT = YES;
};
name = Release;
};
AE5D620F1D806FC1004CA05D /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD)";
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = dwarf;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
INFOPLIST_FILE = GHMarkdownParser2/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MODULEMAP_FILE = module.modulemap;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = NO;
PRODUCT_BUNDLE_IDENTIFIER = pivotaltracker.GHMarkdownParser;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VALID_ARCHS = "arm64 armv7 armv7s x86_64";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
};
name = Debug;
};
AE5D62101D806FC1004CA05D /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD)";
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
INFOPLIST_FILE = GHMarkdownParser2/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MODULEMAP_FILE = module.modulemap;
MTL_ENABLE_DEBUG_INFO = NO;
ONLY_ACTIVE_ARCH = NO;
PRODUCT_BUNDLE_IDENTIFIER = pivotaltracker.GHMarkdownParser;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VALID_ARCHS = "arm64 armv7 armv7s x86_64";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
279A7E9E18A89AB8007AA2CC /* Build configuration list for PBXNativeTarget "GHMarkdownParser Mac" */ = {
isa = XCConfigurationList;
buildConfigurations = (
279A7E9F18A89AB8007AA2CC /* Debug */,
279A7EA018A89AB8007AA2CC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
A7C525EC13E6FE1A0003EEE5 /* Build configuration list for PBXProject "GHMarkdownParser" */ = {
isa = XCConfigurationList;
buildConfigurations = (
A7C525FD13E6FE1A0003EEE5 /* Debug */,
A7C525FE13E6FE1A0003EEE5 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
AE5D62111D806FC1004CA05D /* Build configuration list for PBXNativeTarget "GHMarkdownParser" */ = {
isa = XCConfigurationList;
buildConfigurations = (
AE5D620F1D806FC1004CA05D /* Debug */,
AE5D62101D806FC1004CA05D /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = A7C525E913E6FE1A0003EEE5 /* Project object */;
}
================================================
FILE: GHMarkdownParser/GHMarkdownParser.xcodeproj/project.xcworkspace/contents.xcworkspacedata
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:GHMarkdownParser.xcodeproj">
</FileRef>
</Workspace>
================================================
FILE: GHMarkdownParser/GHMarkdownParser.xcodeproj/project.xcworkspace/xcshareddata/GHMarkdownParser.xccheckout
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDESourceControlProjectFavoriteDictionaryKey</key>
<false/>
<key>IDESourceControlProjectIdentifier</key>
<string>AC14F571-B174-4CFD-86A8-53F8647B99B6</string>
<key>IDESourceControlProjectName</key>
<string>GHMarkdownParser</string>
<key>IDESourceControlProjectOriginsDictionary</key>
<dict>
<key>193DF35C-ABEF-4A63-8DE8-FEEEE3E58386</key>
<string>ssh://github.com/OliverLetterer/discount.git</string>
<key>DCBE6C60-F59F-46B8-B293-E3435415C037</key>
<string>ssh://github.com/OliverLetterer/GHMarkdownParser.git</string>
</dict>
<key>IDESourceControlProjectPath</key>
<string>GHMarkdownParser/GHMarkdownParser.xcodeproj/project.xcworkspace</string>
<key>IDESourceControlProjectRelativeInstallPathDictionary</key>
<dict>
<key>193DF35C-ABEF-4A63-8DE8-FEEEE3E58386</key>
<string>../../../discount</string>
<key>DCBE6C60-F59F-46B8-B293-E3435415C037</key>
<string>../../..</string>
</dict>
<key>IDESourceControlProjectURL</key>
<string>ssh://github.com/OliverLetterer/GHMarkdownParser.git</string>
<key>IDESourceControlProjectVersion</key>
<integer>110</integer>
<key>IDESourceControlProjectWCCIdentifier</key>
<string>DCBE6C60-F59F-46B8-B293-E3435415C037</string>
<key>IDESourceControlProjectWCConfigurations</key>
<array>
<dict>
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
<string>public.vcs.git</string>
<key>IDESourceControlWCCIdentifierKey</key>
<string>193DF35C-ABEF-4A63-8DE8-FEEEE3E58386</string>
<key>IDESourceControlWCCName</key>
<string>discount</string>
</dict>
<dict>
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
<string>public.vcs.git</string>
<key>IDESourceControlWCCIdentifierKey</key>
<string>DCBE6C60-F59F-46B8-B293-E3435415C037</string>
<key>IDESourceControlWCCName</key>
<string>GHMarkdownParser</string>
</dict>
</array>
</dict>
</plist>
================================================
FILE: GHMarkdownParser/GHMarkdownParser.xcodeproj/xcshareddata/xcschemes/GHMarkdownParser.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0730"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AE5D62091D806FC1004CA05D"
BuildableName = "GHMarkdownParser.framework"
BlueprintName = "GHMarkdownParser"
ReferencedContainer = "container:GHMarkdownParser.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AE5D62091D806FC1004CA05D"
BuildableName = "GHMarkdownParser.framework"
BlueprintName = "GHMarkdownParser"
ReferencedContainer = "container:GHMarkdownParser.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AE5D62091D806FC1004CA05D"
BuildableName = "GHMarkdownParser.framework"
BlueprintName = "GHMarkdownParser"
ReferencedContainer = "container:GHMarkdownParser.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
================================================
FILE: GHMarkdownParser/GHMarkdownParser2/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
================================================
FILE: GHMarkdownParser/module.modulemap
================================================
framework module GHMarkdownParser {
header "GHMarkdownParser.h"
}
================================================
FILE: GHMarkdownParser.podspec
================================================
Pod::Spec.new do |s|
s.name = 'GHMarkdownParser'
s.version = '0.1.2'
s.license = 'MIT'
s.summary = 'A GitHub Flavored Markdown parser for iOS and Mac OS, based on discount.'
s.homepage = 'https://github.com/OliverLetterer/GHMarkdownParser'
s.author = { 'Oliver Letterer' => 'oliver.letterer@gmail.com' }
s.source = { :git => 'https://github.com/OliverLetterer/GHMarkdownParser.git', :tag => s.version.to_s, :submodules => 'true' }
s.source_files = 'discount/config.h', 'discount/setup.c', 'discount/tags.{h,c}',
'discount/html5.c', 'discount/emmatch.c', 'discount/Csio.c', 'discount/xml.c', 'discount/resource.c',
'discount/generate.c', 'discount/markdown.{h,c}', 'discount/mkdir.{c,h}', 'discount/cstring.h',
'discount/amalloc.{h,c}', 'discount/mkdio.{h,c}', 'discount/github_flavoured.c', 'discount/basename.c',
'GHMarkdownParser/**/*.{h,m}'
s.xcconfig = { 'OTHER_LDFLAGS' => '-ObjC -all_load', 'HEADER_SEARCH_PATHS' => '"${PODS_ROOT}/GHMarkdownParser/discount"' }
s.resources = 'discount/blocktags'
s.requires_arc = true
end
================================================
FILE: LICENSE.md
================================================
Copyright (c) 2011 Oliver Letterer
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
================================================
FILE: README.md
================================================
[](https://github.com/Carthage/Carthage)
# GHMarkdownParser
**GHMarkdownParser** is a [GitHub Flavored Markdown](http://github.github.com/github-flavored-markdown/) parser for iOS and Mac OS, based on [discount](https://github.com/Orc/discount).
## How to setup GHMarkdownParser in your project
* add **GHMarkdownParser** as a submodule to your project
* navigate into **GHMarkdownParser directory** and initialize the submodules
```
git submodule init
git submodule update
```
* drag and drop the `GHMarkdownParser.xcodeproj` into your project
* select your **project target** -> **build settings**
* fill **Other Linker Flags** with `-Objc` and `-all_load`
* add the **path of GHMarkdownParser** to `Library Search Paths` and `Header Search Paths`
* go into **build phases**
* add `GHMarkdownParser` (for iOS) or `GHMarkdownParser Mac` (for Mac) to **Target Dependencies**
* add `libGHMarkdownParser.a` (for iOS) or `libGHMarkdownParser_Mac.a` (for Mac) to **Link Binary with Libraries**
## How to use GHMarkdownParser
* import the GHMarkdownParser header
```objc
#import "GHMarkdownParser.h"
```
* convert any markdown formatted string into HTML
```objc
NSString *markdown = ...;
NSString *HTML = markdown.flavoredHTMLStringFromMarkdown;
```
* Or for greater control:
```objc
GHMarkdownParser *parser = [[GHMarkdownParser alloc] init];
parser.options = kGHMarkdownAutoLink; // for example
parser.githubFlavored = YES;
NSString *html = [parser HTMLStringFromMarkdownString:markdownString];
```
gitextract_9hbw4up9/ ├── .gitattributes ├── .gitignore ├── .gitmodules ├── GHMarkdownParser/ │ ├── GHMarkdownParser/ │ │ ├── Foundation and Class Additions/ │ │ │ ├── NSString+GHMarkdownParser.h │ │ │ └── NSString+GHMarkdownParser.m │ │ ├── GHMarkdownParser-Prefix.pch │ │ ├── GHMarkdownParser.h │ │ └── GHMarkdownParser.m │ ├── GHMarkdownParser.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ └── GHMarkdownParser.xccheckout │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ └── GHMarkdownParser.xcscheme │ ├── GHMarkdownParser2/ │ │ └── Info.plist │ └── module.modulemap ├── GHMarkdownParser.podspec ├── LICENSE.md └── README.md
SYMBOL INDEX (1 symbols across 1 files)
FILE: GHMarkdownParser/GHMarkdownParser/GHMarkdownParser.h
type GHMarkdownOptions (line 14) | typedef enum {
Condensed preview — 17 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (49K chars).
[
{
"path": ".gitattributes",
"chars": 29,
"preview": "*.pbxproj -crlf -diff -merge\n"
},
{
"path": ".gitignore",
"chars": 247,
"preview": "# xcode noise\n*.mode1v3\n*.pbxuser\n*.perspective\n*.perspectivev3\n*.pyc\n*~.nib/\nbuild/\nxcuserdata/\nxcuserdata/*\n*.xcuserda"
},
{
"path": ".gitmodules",
"chars": 94,
"preview": "[submodule \"discount\"]\n\tpath = discount\n\turl = https://github.com/OliverLetterer/discount.git\n"
},
{
"path": "GHMarkdownParser/GHMarkdownParser/Foundation and Class Additions/NSString+GHMarkdownParser.h",
"chars": 375,
"preview": "//\n// NSString+GHMarkdownParser.h\n// GHMarkdownParser\n//\n// Created by Oliver Letterer on 01.08.11.\n// Copyright 201"
},
{
"path": "GHMarkdownParser/GHMarkdownParser/Foundation and Class Additions/NSString+GHMarkdownParser.m",
"chars": 518,
"preview": "//\n// NSString+GHMarkdownParser.m\n// GHMarkdownParser\n//\n// Created by Oliver Letterer on 01.08.11.\n// Copyright 201"
},
{
"path": "GHMarkdownParser/GHMarkdownParser/GHMarkdownParser-Prefix.pch",
"chars": 392,
"preview": "//\n// Prefix header for all source files of the 'GHMarkdownParser' target in the 'GHMarkdownParser' project\n//\n\n#ifdef _"
},
{
"path": "GHMarkdownParser/GHMarkdownParser/GHMarkdownParser.h",
"chars": 2037,
"preview": "//\n// GHMarkdownParser.h\n// GHMarkdownParser\n//\n// Created by Oliver Letterer on 01.08.11.\n// Copyright 2011 Home. A"
},
{
"path": "GHMarkdownParser/GHMarkdownParser/GHMarkdownParser.m",
"chars": 1959,
"preview": "//\n// GHMarkdownParser.m\n// GHMarkdownParser\n//\n// Created by Oliver Letterer on 01.08.11.\n// Copyright 2011 Home. A"
},
{
"path": "GHMarkdownParser/GHMarkdownParser.xcodeproj/project.pbxproj",
"chars": 29472,
"preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
},
{
"path": "GHMarkdownParser/GHMarkdownParser.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
"chars": 161,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"self:GHMarkdownParse"
},
{
"path": "GHMarkdownParser/GHMarkdownParser.xcodeproj/project.xcworkspace/xcshareddata/GHMarkdownParser.xccheckout",
"chars": 2042,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "GHMarkdownParser/GHMarkdownParser.xcodeproj/xcshareddata/xcschemes/GHMarkdownParser.xcscheme",
"chars": 2931,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"0730\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "GHMarkdownParser/GHMarkdownParser2/Info.plist",
"chars": 806,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "GHMarkdownParser/module.modulemap",
"chars": 67,
"preview": "framework module GHMarkdownParser {\n header \"GHMarkdownParser.h\"\n}"
},
{
"path": "GHMarkdownParser.podspec",
"chars": 1080,
"preview": "Pod::Spec.new do |s|\n s.name = 'GHMarkdownParser'\n s.version = '0.1.2'\n s.license = 'MIT'\n s.summary = 'A Git"
},
{
"path": "LICENSE.md",
"chars": 1056,
"preview": "Copyright (c) 2011 Oliver Letterer\nPermission is hereby granted, free of charge, to any person obtaining a copy of this "
},
{
"path": "README.md",
"chars": 1686,
"preview": "[](https://github.com/Cart"
}
]
About this extraction
This page contains the full source code of the OliverLetterer/GHMarkdownParser GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 17 files (43.9 KB), approximately 14.8k tokens, and a symbol index with 1 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.