43 реда код са всичко, което е необходимо

Markdown е може би най-лесният начин за редактиране и форматиране на форматиран текст. Освен това е изключително популярен и почти всеки знае как да го използва.

И така, искате ли да внедрите Markdown във вашето приложение? Преди беше… сложно. Ще трябва да използвате анализатор на Markdown на трета страна, след което да покажете резултата в уеб изглед. Ако искате да го използвате със SwiftUI, успех в работата с UIViewRepresentable.

Добри новини обаче: на WWDC21 Apple пусна SwiftUI 3 с поддръжка на Markdown! Това е една от характеристиките, които някак си останаха под радара, но също така е и една от най-интересните. В тази статия ще изградим редактор на Markdown само в 43 реда код.

Нека започнем с основен интерфейс:

В момента можем да въвеждаме в полето Markdown и текстът се съхранява в markdownText. Резултатът обаче не се променя. Това е очаквано, защото ние просто показваме Text(“Output goes here!”).

И така, как да изобразим markdownText в изходното текстово поле? Лесно е с помощта на новоиздадения AttributedString API. Можете да намерите повече подробности за това в тази статия.

Ще използваме метода init(markdown:options:baseURL:) на AttributedString, за да създадем приписан низ от Markdown. Добавете това в долната част на ContentView:

Този метод приема String от Markdown, след което го преобразува в AttributedString.

Сега всичко, което остава, е да го извикате!

… и имаме нашия редактор на Markdown.

Ето един бърз лист за измама на Markdown:

  • Курсив *Italics*
  • Удебелен **Bold**
  • Зачертано ~Strikethrough~
  • Код `Code`
  • Връзка [Link](https://apple.com)

И можете да получите изходния код на завършеното приложение тук:



Заключение

Това беше лесно, нали? И днес е едва третият ден от WWDC21. Има още много неща, които да очакваме.

Благодаря за четенето!