При разработке палпатин, я обнаружил, что просматриваю Интернет и вдохновляюсь тем, как другие генераторы статических сайтов (SSG) решали мои проблемы (например, поддержка md-файлов, таблиц стилей, обработка исключений). Во время этого процесса для меня стало очевидно, что JavaScript доминирует в области генераторов статических сайтов, поскольку почти все варианты, которые я рассматривал, были основаны на Javascript. Некоторые из интересных, которые я нашел, были: Докузавр, Гэтсби, Джекил а также одиннадцать. Все они имеют свои уникальные особенности, конкурируя со всеми другими SSG, и постоянно поддерживаются сообществом на GitHub.

Докузавр имеет страница-витрина где вы можете увидеть, как другие серьезные проекты используют их инструмент, например Есть веб-сайт созданный с Docusaurus, это вдохновляет, когда вы видите, что их страницы профессионально сделаны. Поэтому я сначала прочитал их документацию по how to get startedочень просто, и в течение нескольких минут я смог настроить сайт докузавра! Следует отметить следующие ключевые особенности: простота использования, красивые темы, точная документация и возможность настройки.


Следите за Палпатином

Во всех SSG на основе JavaScript palpatine разрабатывается с нуля с использованием C++ и CMake в качестве системы сборки. Как разработчик и сопровождающий Палпатина, моя главная задача — сделать его lightning fast по сравнению с другими. В настоящее время palpatine1.5 может создать статический сайт менее чем за 1 секунду. Я также убедился, что он прост в использовании, с простым интерфейсом командной строки. документация также является точным и легким для понимания. Однако в нем отсутствует одна из основных функций, поддерживающая markdown files fully. Я был работающий об этой функции в течение последних нескольких дней, и я нашел библиотеку парсера Markdown только для заголовков Мэдди. Но, кажется, прошло больше года с момента последнего коммита в библиотеку. Я не уверен, сохраняется ли он до сих пор. CMake был очень расстроен тем, насколько он устарел.

cmake-предупреждение

Таким образом, я не мог использовать в качестве подмодуль git с CMake, как я использовал для других библиотек. Вместо этого я клонировал Мэдди и использовал только конкретную include каталог в файле palpatine. Это была успешная поддержка some markdown features но потерпел неудачу в нескольких аспектах (например, поддерживающие таблицы, перекрестные тексты, такие как текст, указав язык для кодовых блоков ). Я создал вопросы на палпатине, чтобы решить эти проблемы, но я считаю, что большинство из них связаны с библиотекой. В настоящее время вы можете увидеть последний прогресс на пример развертывания палпатина.