На самом деле это всего 1 минута, если вы выполняете команды от начала до конца.

Как разработчику программного обеспечения очень полезно вести блог о своем опыте и делиться знаниями, мудростью и учебными пособиями.

Но возникает дилемма: стоит ли создавать собственную систему ведения блогов с нуля? Что ж, у меня есть цитата по этому поводу:

«То, что ты можешь, не значит, что тебе следует».

- Шерилин Кеньон

Создание хорошей системы блогов означает одно из двух: использование механизма шаблонов и создание вашего сайта или создание полноценной системы управления контентом (с базами данных и всем остальным)… с нуля.

Чем больше функций вы хотите добавить в свой блог, тем сложнее и длиннее становятся эти задачи.

Впоследствии люди иногда застревают между камнем и наковальней - мне может потребоваться очень и очень много времени, чтобы построить свою собственную систему с нуля, или я могу использовать что-то готовое, например Wordpress ... чего я не делаю. хочу сделать.

Что ж, не бояться. Есть вариант получше.

Генераторы статических сайтов пришли нам на помощь.

Генераторы статических сайтов возникли как хороший баланс между двумя крайними вариантами: вам не нужно кодировать свою собственную CMS или систему с нуля, но вы также не используете что-то вроде Wordpress или Wix.

Кодирования и настройки достаточно, чтобы успокоить тех, кто занимается мастерингом (что, я думаю, есть у всех инженеров-программистов), но это не так утомительно и трудоемко, чтобы отвлекать от главного: ведения блога.

Несколько лет назад фреймворк Octopress, построенный на Rails и Jekyll, был очень популярен. Однако примерно в 2015 или 2016 году первоначальный создатель (и) прекратил поддерживать его, и с тех пор он медленно рассыпался в пыль.

Jekyll до сих пор жив и популярен, им пользуются как частные лица, так и компании.

С этими фреймворками вы получаете хороший баланс - многие основные функции предоставляются вам в рамках фреймворка, но вы все равно можете кодировать и модифицировать, а также настраивать свой веб-сайт так, как вы хотите.

Но что, если вы не знаете или не хотите использовать Ruby? Что ж, есть альтернатива: Hexo.

Настроить Hexo очень просто. Очень просто.

В то время как Jekyll основан на Rails и Liquid, Hexo основан на Node.js и EJS. Для тех из нас, кто пришел из страны JavaScript, вы будете чувствовать себя как дома.

Если у вас установлены NPM и Yarn, загрузить Hexo очень просто:

$ npm i hexo-cli -g
/usr/local/bin/hexo -> /usr/local/lib/node_modules/hexo-cli/bin/hexo
+ [email protected]
added 81 packages from 322 contributors in 7.798s

При этом загружается инструмент командной строки Hexo, который является рекомендуемым способом запуска и создания нового веб-сайта или проекта Hexo. Он использует Yarn для управления пакетами и модулями.

Затем вы используете инструмент hexo CLI для инициализации нового блога, который автоматически загружает все необходимые зависимости и устанавливает тему по умолчанию в вашу themes папку.

$ hexo init my-new-blog
INFO  Cloning hexo-starter https://github.com/hexojs/hexo-starter.git
...
INFO  Install dependencies
...
success Saved lockfile.
Done in 12.83s.
INFO  Start blogging with Hexo!
$ cd my-new-blog

После этого cd в новую папку проекта и выполните еще одну команду, чтобы запустить свой блог и обслуживать его локально в браузере:

$ hexo server
INFO  Start processing
INFO  Hexo is running at http://localhost:4000 . Press Ctrl+C to stop.

И вуаля, у вас есть блог. Так просто

Вы можете просмотреть десятки других готовых тем, которые были предоставлены вам другими разработчиками. Если вы хотите начать работу по-настоящему быстро, Hexo сделал это чрезвычайно простым и безболезненным.

Вы можете быстро написать новый пост, а потом проверить, как все выглядит вживую.

Откройте другой терминал. Один в настоящее время работает hexo server, который обслуживает файлы статического веб-сайта для http://localhost:4000. Теперь в другом терминале вы можете запустить hexo generate --watch.

При этом запускается наблюдатель, который автоматически обнаруживает любые изменения файлов, выполняет повторную визуализацию и перезагружает веб-сайт в горячем режиме. Теперь предварительный просмотр вашего веб-сайта обновляется в режиме реального времени.

После настройки вы можете изменить сообщение по умолчанию (находится в /source/_posts). Или, если хотите, вы можете удалить этот файл и создать новое сообщение, выполнив следующую команду:

$ hexo new post "Your Title Here"

Это создает новый файл в /source/_posts/. Все файлы сообщений имеют формат Markdown, как и другие генераторы статических сайтов. Очень легко использовать и читать.

Помните, что во время написания сообщения просто обновите свой http://localhost:4000, чтобы проверить, как он выглядит, пока вы продолжаете.

Для получения дополнительной документации и настроек, которые вы можете настроить для записи, посетите раздел Writing в документации Hexo.

Если вы довольны своим блогом и публикацией, вы можете практически мгновенно развернуть его с помощью Vercel.

Компания Vercel, ранее называвшаяся ZEIT, создавала Next.js, фреймворк, упрощающий разработку приложений React.js.

Один из их инструментов - фантастический клиент CLI под названием Now (не уверен, что они также переименовали его в Vercel). Он обеспечивает немедленное развертывание в облаке, а также локальную разработку.

Для начала зарегистрируйтесь на их веб-сайте. План для любителей бесплатен, и он даже позволяет вам использовать свой собственный домен.

Затем установите клиент:

$ npm i now -g

После его установки, если вы находитесь в корневой папке проекта блога, запустите now public. public - это папка, в которой движок Hexo сгенерировал статические файлы для вашего веб-сайта.

Вам будет предложено войти в систему, для чего вы перейдете по ссылке в электронном письме, которое они отправят. Как только это будет сделано, вы сможете ответить на вопросы, которые вам задает интерфейс командной строки.

$ now public
Now CLI 18.0.0
? Set up and deploy “~/workspace/my-new-blog/public”? [Y/n] y
? Which scope do you want to deploy to? (Your User)
? Link to existing project? [y/N] n
? What’s your project’s name? my-new-blog
? In which directory is your code located? ./
No framework detected. Default project settings:
- Build Command: `npm run now-build` or `npm run build`
- Output Directory: `public` if it exists, or `.`
- Development Command: None
? Want to override the settings? [y/N] n
🔗  Linked to mvxt/my-new-blog (created .now and added it to .gitignore)
🔍  Inspect: [REDACTED URL] [1s]
✅  Production: https://tmp-lemon.now.sh [copied to clipboard] [4s]
📝  Deployed to production. Run `now --prod` to overwrite later (https://zeit.ink/2F).
💡  To change the domain or build command, go to https://zeit.co/mvxt/my-new-blog/settings

И тогда все готово. Он развернут по ссылке Production: в выходных данных.

Это заняло 60 секунд? Черт побери.

Вывод

Инженеры-программисты любят разрабатывать новые инструменты, чтобы сделать процесс разработки лучше, и в результате появляются такие инструменты, как Hexo и Vercel. Открытие подобных приложений и фреймворков - вот что заставляет меня так сильно любить программы.

Я люблю экспериментировать и возиться с новыми инструментами, и мне очень нравится, как я могу открыть целый новый блог с помощью всего нескольких команд.

Начать собственный блог никогда не было так просто. Попробуйте!