В прошлом я делал веб-приложение Ruby on Rails. При использовании RoR для каждой страницы использовался стандартный «шаблон», а весь контент, вставленный в «шаблон», обрабатывался на стороне сервера. Например, я определил стандартные верхний и нижний колонтитулы, и когда был сделан запрос для определенной страницы, содержимое этой страницы вставлялось между верхним и нижним колонтитулами, а затем передавалось клиенту.
В настоящее время я использую Firebase в качестве серверной базы данных, механизма обновления в реальном времени (pub/sub) и инструмента для размещения другого веб-приложения. Хостинг Firebase просто обслуживает статические файлы HTML/JS, а клиенты выполняют всю тяжелую работу (в отличие от RoR) для аутентификации, манипуляций с DOM на основе пользователя и т. д.
В этом приложении у меня есть стандартный верхний и нижний колонтитулы, которые используются на каждой странице, но моя проблема заключается в том, что любые изменения в верхнем/нижнем колонтитуле необходимо вносить вручную на каждую страницу.
Итак, мой вопрос: существует ли стандартный метод (или, возможно, инструмент), который, по сути, позволил бы создать шаблон в виде шаблона, а затем автоматически «скомпилировать» в отдельные файлы HTML, которые я мог бы затем разрешить Firebase хост? Я не обязательно хочу использовать что-то вроде AngularJS, хотя я думаю, что это по своей сути решает проблему.
Приложением с несколькими страницами легко управлять, но по мере того, как приложение растет, все быстро усложняется, и обеспечение согласованности становится сложной задачей.
Вопрос: Генератор статических сайтов с графическим интерфейсом , я думаю, близок к тому, о чем я спрашиваю, но не совсем то же самое. Я не ищу инструмент для создания статического сайта, а инструмент для редактирования HTML по шаблону (и не обязательно с гладким графическим интерфейсом, я больше думал о текстовом решении, таком как какой-то плагин для Notepad++). ). Jekyll был рекомендован в качестве ответа на связанный вопрос и кажется потенциально хорошим решением, но я подумал, что посмотрю, есть ли другие.
Я думаю, что генератор статических сайтов — это то, что вам нужно.
Обычно (но не обязательно) это инструменты командной строки:
Теперь вы можете просто взять все сгенерированные файлы HTML и загрузить их.
Решений так много (см., например, списки на http://staticsitegenerators.net/ и https://www.staticgen.com/ , чтобы получить представление), что трудно дать конкретную рекомендацию, не указав, что именно вы ожидаете от него.
Популярными примерами являются Jekyll , Pelican , Middleman и Hexo . Мне нравится Hugo , в основном из-за его отличного встроенного тестового сервера с поддержкой перезагрузки в реальном времени ( см. также мой вопрос ), но я думаю, для вас это не имеет значения.
Поэтому, если вы считаете, что генератор статических сайтов может быть решением для вашего случая, не стесняйтесь создавать новый вопрос (с тегом static-site-generator), где вы явно указываете, какие функции вам нужны, например: Должен ли он использовать определенный механизм шаблонов? В каком формате (например, Markdown) вы хотите писать контент? Какой дизайн URL следует использовать? Нужно ли генерировать только файлы HTML? Должен ли он создать фид? У вас есть разные «типы контента»? Должен ли он минимизировать сгенерированный HTML? и т. д.
ненор
МандМ