Я разрабатываю веб-приложение JSF и хотел бы представить много документации, которая будет видна непосредственно в веб-приложении. Технически я хотел бы использовать язык Markdown и уже сделал первый опыт. В настоящее время я играю с библиотекой Java flexmark для рендеринга e. г. Строки HTML из документа уценки. Также это, кажется, работает нормально. Но что делать со ссылками на другие файлы md?
Если у меня есть часть уценки: See also [here](Background.md)
Затем это будет отображаться правильно в HTML со ссылкой вида: See also <a href = "Background.md">here</a>
.
Но как мне сказать моему веб-серверу, чтобы он реагировал на эту ссылку и обновлял документную часть страницы отображаемым md-файлом?
Мне нужно было бы вручную найти такие ссылки в сгенерированном HTML и изменить их на своего рода вызов JavaScript, сообщая моему серверу об отображении панели с использованием другого файла md.
Или я должен создать IFrame, чтобы внутри этого фрейма я мог перейти по ссылке на e. г. веб-сервлет, отображающий файлы md в новый HTML?
Но мне все это кажется несколько неуклюжим. Я пропустил более простое решение?
Интересный. Но в центре внимания локализации находится локализация. Я не уверен, будут ли ссылки работать в этом решении иначе/лучше, чем e. г. флексмарк.
Большим преимуществом является то, что вы можете использовать его в качестве тега на своих страницах JSF. Никаких сторонних преобразований не требуется. Так что ссылки будут работать.
Ладно, других ответов нет, поэтому отвечаю сам. Комментарий о расширении Primefaces с локализацией интересен, но слишком далек от моего внимания, а некоторые функции не совсем соответствуют моим требованиям.
Поэтому я остановился на чистой библиотеке уценки, а остальное сделал сам.
Со ссылками все оказалось намного проще, чем ожидалось! В JavaScript вы можете очень легко обнаружить все ссылки на странице (document.links
), перебрать их и просто установить функцию onclick (см. здесь).
Вы можете использовать primefaces.org/showcase-ext/views/localized.jsf, который поддерживает Markdown.