43 строки кода - это все, что нужно

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

Итак, хотите внедрить Markdown в свое приложение? Раньше это было… сложно. Вам нужно будет использовать сторонний анализатор Markdown, а затем отобразить результат в веб-представлении. Если вы хотели использовать его со SwiftUI, что ж, удачи в работе с UIViewRepresentable.

Однако хорошие новости: на WWDC21 Apple выпустила SwiftUI 3 с поддержкой Markdown! Это одна из особенностей, которая не была заметна, но она также является одной из самых интересных. В этой статье мы создадим редактор Markdown всего из 43 строк кода.

Начнем с простого интерфейса:

В настоящее время мы можем вводить текст в поле Markdown, а текст хранится в markdownText. Однако результат не меняется. Этого и следовало ожидать, потому что мы просто показываем Text(“Output goes here!”).

Итак, как нам отобразить markdownText в текстовом поле вывода? Это просто использовать недавно выпущенный AttributedString API. Подробнее об этом читайте в этой статье.

Мы будем использовать метод AttributedString init(markdown:options:baseURL:) для создания строки с атрибутами из Markdown. Добавьте это внизу ContentView:

Этот метод принимает String Markdown, а затем преобразует его в AttributedString.

Теперь осталось только позвонить!

… И у нас есть редактор Markdown.

Вот краткая шпаргалка по Markdown:

  • Курсив *Italics*
  • Полужирный **Bold**
  • Зачеркнутый ~Strikethrough~
  • Код `Code`
  • Ссылка [Link](https://apple.com)

И вы можете получить исходный код готового приложения здесь:



Заключение

Это было легко, правда? А сегодня только третий день WWDC21. Впереди еще много всего интересного.

Спасибо за прочтение!