Сделать работу с архетипами на Hugo НАМНОГО проще.
🚀 Отказ от ответственности: я являюсь автором пакета Hugon, который сегодня обсуждается в этом посте. Все соответствующие подробности, заявления об отказе от ответственности и инструкции для моего пакета находятся на: https://github.com/hithismani/hugon.
Почему я создал Хьюгона:
Самым большим (и, возможно, единственным) ограничением Hugo является то, что он не позволяет вам выбирать источник данных (например, базу данных) для массового создания файлов уценки.
Около 60 % моего времени в проектах, использующих Hugo, было потрачено на преобразование контента в файлы .md, загрузку их ресурсов в определенную статическую папку и тестирование на наличие ошибок, чтобы проверить, работает ли все как задумано.
Довольно монотонный процесс, даже когда у меня указан архетип.
Ку, Хьюгон!
Что такое Хьюгон?
Hugon — это простой скрипт командной строки Python (3.x), который я сделал, чтобы уменьшить ручной труд по созданию и работе с файлами уценки на Hugo. Он невероятно прост в использовании и напрямую взаимодействует с выбранным вами интерфейсом командной строки (Hugo CLI, NPM и т. д.) для создания файлов.
Что нужно Хьюгону:
- Питон 3.х
- Хьюго CLI (проверено на 0.59.1)
- Файл архетипа в корневом каталоге вашего проекта/папке архетипа темы.
Насколько Hugon отличается от простого использования Hugo CLI?
Hugon не заменяет интерфейс командной строки Hugo, он просто добавляет дополнительный уровень обработки данных Python до и после отправки команд в интерфейс командной строки Hugo.
Создание одного файла с помощью Hugo CLI:
hugo new default/create-this-file.md
Создание одного файла с помощьюHugon(Обратите внимание, что вам не нужно «усложнять» имена файлов):
hugon -name "Create this file!" -archetype "default"
Создание последовательности файлов с помощью Hugo CLI:
hugo new faq/frequently-asked-questions-1.md hugo new faq/frequently-asked-questions-2.md hugo new faq/frequently-asked-questions-3.md hugo new faq/frequently-asked-questions-4.md hugo new faq/frequently-asked-questions-5.md
Создание последовательности файлов с помощью Hugon (просто!):
hugon -name "Frequently Asked Questions" -archetype "faq" -sequence "5"
Хотите создать файлы Markdown из источника данных .CSV? Без проблем.
Вот где Хьюгон действительно сияет. Я очень много работал над тем, чтобы внедрить функциональность, позволяющую создавать несколько файлов уценки, просто указывая на CSV. Лучшая часть? Он также заполняет шаблоны вступительной части, если ключи и значения указаны в вашем файле данных.
- Создайте файл data.csv в корне вашего проекта Hugo.
- Убедитесь, что вы указали обязательные поля в соответствии с синтаксисом, указанным в моем репозитории.
- Запустите следующую команду в корне вашего проекта:
hugon -csv yes
- Ваши файлы должны быть созданы, и передняя часть каждого поля (если вы указали ключи в архетипе) должны быть заполнены!
Нужен старт? Просмотреть этот образец (проверенный) CSV-файл.
Бонус CSV: скачивайте файлы прямо из CSV!
Если вы хотите загрузить изображение/файл в папку проекта и присвоить значения уценке, я также добавил эту функцию. Он работает в 90% случаев, если ссылка для скачивания является прямой общедоступной ссылкой.
Вы должны упомянуть 2 столбца в вашем csv.
- Добавьте префикс «da-» к ключу во вступительной части, которая содержит «привязную ссылку для скачивания». Например: если вы загружаете файлы для ключа «изображение», просто сохраните ключ в своем CSV-файле как «da-image».
- Добавьте столбец «путь», чтобы скрипт знал, куда вы хотите загрузить указанный выше файл.
- Посмотрите, как происходит загрузка, а также посмотрите, как значения будут присвоены в ваших полях вступительной статьи!
Некоторые известные проблемы:
- Источник данных CSV работает только с вступительной частью YAML.
- Поля CSV требуют, чтобы ваш архетип содержал ключи, упомянутые в столбцах CSV.
- Поскольку функциональность CSV носит рекурсивный характер, рекомендуется сначала выполнить пробный запуск сценария в другой папке.
Что вы думаете? Вы бы использовали Hugon в своем рабочем процессе Hugo? Каковы ваши пожелания и оговорки? Дай мне знать!
🚀 Отказ от ответственности: все соответствующие подробности, отказ от ответственности и инструкции для моего пакета находятся на: https://github.com/hithismani/hugon