Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

83 lines
3.1KB

  1. //
  2. // MMMarkdown.h
  3. // MMMarkdown
  4. //
  5. // Copyright (c) 2012 Matt Diephouse.
  6. //
  7. // Permission is hereby granted, free of charge, to any person obtaining a copy
  8. // of this software and associated documentation files (the "Software"), to deal
  9. // in the Software without restriction, including without limitation the rights
  10. // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  11. // copies of the Software, and to permit persons to whom the Software is
  12. // furnished to do so, subject to the following conditions:
  13. //
  14. // The above copyright notice and this permission notice shall be included in
  15. // all copies or substantial portions of the Software.
  16. //
  17. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  18. // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  19. // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  20. // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  21. // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  22. // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  23. // THE SOFTWARE.
  24. //
  25. #import <Foundation/Foundation.h>
  26. //! Project version number for MMMarkdown.
  27. FOUNDATION_EXPORT double MMMarkdownVersionNumber;
  28. //! Project version string for MMMarkdown.
  29. FOUNDATION_EXPORT const unsigned char MMMarkdownVersionString[];
  30. typedef NS_OPTIONS(NSUInteger, MMMarkdownExtensions)
  31. {
  32. MMMarkdownExtensionsNone = 0,
  33. MMMarkdownExtensionsAutolinkedURLs = 1 << 0,
  34. // MMMarkdownExtensionsCrossReferences = 1 << 1,
  35. // MMMarkdownExtensionsCustomAttributes = 1 << 2,
  36. MMMarkdownExtensionsFencedCodeBlocks = 1 << 3,
  37. // MMMarkdownExtensionsFootnotes = 1 << 4,
  38. MMMarkdownExtensionsHardNewlines = 1 << 5,
  39. MMMarkdownExtensionsStrikethroughs = 1 << 6,
  40. // MMMarkdownExtensionsTableCaptions = 1 << 7,
  41. MMMarkdownExtensionsTables = 1 << 8,
  42. MMMarkdownExtensionsUnderscoresInWords = 1 << 9,
  43. MMMarkdownExtensionsGitHubFlavored = MMMarkdownExtensionsAutolinkedURLs|MMMarkdownExtensionsFencedCodeBlocks|MMMarkdownExtensionsHardNewlines|MMMarkdownExtensionsStrikethroughs|MMMarkdownExtensionsTables|MMMarkdownExtensionsUnderscoresInWords,
  44. };
  45. NS_ASSUME_NONNULL_BEGIN
  46. @interface MMMarkdown : NSObject
  47. /*!
  48. Convert a Markdown string to HTML.
  49. @param string
  50. A Markdown string. Must not be nil.
  51. @param error
  52. Out parameter used if an error occurs while parsing the Markdown. May be NULL.
  53. @result
  54. Returns an HTML string.
  55. */
  56. + (NSString *)HTMLStringWithMarkdown:(NSString *)string error:(NSError * __autoreleasing * _Nullable)error;
  57. /*!
  58. Convert a Markdown string to HTML.
  59. @param string
  60. A Markdown string. Must not be nil.
  61. @param extensions
  62. The extensions to enable.
  63. @param error
  64. Out parameter used if an error occurs while parsing the Markdown. May be NULL.
  65. @result
  66. Returns an HTML string.
  67. */
  68. + (NSString *)HTMLStringWithMarkdown:(NSString *)string extensions:(MMMarkdownExtensions)extensions error:(NSError * __autoreleasing * _Nullable)error;
  69. @end
  70. NS_ASSUME_NONNULL_END