#swift #swiftui
#swift #swiftui
Вопрос:
Я хочу показать некоторый код в представлении SwiftUI и хотел бы воспользоваться выделением кода highlight.js
. Таким образом, я пишу что-то вроде этого:
import SwiftUI
struct Test: View {
var body: some View {
VStack {
HTMLText(html: """
<html>
<head>
<link rel="stylesheet" href="highlight/styles/nord.css">
<script src="highlight/highlight.pack.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
</head>
<body>
<pre><code class="latex">
Some $a^n$ \TeX code
</code></pre>
</body>
</html>
""")
}
}
}
struct Test_Previews: PreviewProvider {
static var previews: some View {
Test()
}
}
highlight.pack.js
И nord.js
находятся в локальной папке с именем highlight
. Я скопировал и добавил эту папку в свой проект Xcode, но приведенный выше код не имеет никакого эффекта (если я вместо этого создаю локальный .html
файл, он отображается правильно, но содержимое этого файла должно быть динамическим, и, следовательно, мне нужно сделать это в моем проекте). Каков правильный способ добавить эти файлы в мой проект, чтобы html
код мог найти эти .js
файлы?
Комментарии:
1. укажите полный путь к файлам, а не просто короткий путь.
2. @SaurabhPrajapati Вы имеете в виду абсолютный путь на моем Mac?
3. Нет, путь из проекта. например, Bundle.main.path(forResource: OfType:)
4. @SaurabhPrajapati Я думаю, что я ошибся:
<link rel="stylesheet" href="(Bundle.main.path(forResource: "nord", ofType: "css"))">
выдает некоторую ошибку во время выполнения. Как правильно это написать?5. Убедитесь, что файл добавлен в project и .path(forResource не возвращает nil