предисловие
Для создания личного веб-сайта мы обычно выбираемWordPress
, из-за его широкого спектра использования (говорят, что 80% веб-сайтов в мире созданы с его помощью), богатого темами и простого в использовании.
В последние годы,markdown
Форматы контента становятся все более популярными, и мы предпочитаем использоватьmarkdown
Форматируйте для написания статей и используйте инструменты создания статических веб-сайтов для преобразования содержания статей вhtml
формат, а затем опубликовать его на личном веб-сайте. Среди инструментов для создания статических веб-сайтов лучшими являютсяJekyll
,Hexo
,Hugo
несколько.
Простое сравнение фреймворков динамических веб-сайтовWordPress
Генерация скелетов со статическими веб-сайтамиHexo
,Hugo
Разница:
проект | Язык разработки | Преимущество | неудобство |
---|---|---|---|
WordPress | php | 1. Есть визуальная подоплека для написания статей; 2. Широкий спектр использования; 3. Богатые темы и плагины. |
1. Слишком много зависимостей приводит к медленной загрузке; 2. Требуется развертывание сервера и зависит от базы данных; 3. Необходимо регулярно создавать резервные копии данных. |
Hexo | nodejs | 1. Статическая генерация, дружественная к SEO; 2. В экосистеме npm есть множество плагинов, которые можно использовать для расширения функций. |
1. Локальная компиляция и генерация статических файлов выполняются медленно; 2. Отладка хлопотная, часто встречаются ошибки js. |
Hugo | go | 1. Самая быстрая скорость компиляции; 2. Очень удобно развивать темы. |
1. Текущее количество тем небольшое. |
В целом, я все еще рекомендую использоватьHugo
для создания персонального сайта.
Установить Хьюго
В системе MacOS вы можете использоватьbrew
установить.
brew install hugo
После установки его можно использовать глобальноHugo
Заказ
hugo version
Создать личный веб-сайт
hugo new site myblog
войти в созданныйmyblog
каталог, вы можете видеть, что сгенерированная структура каталогов выглядит следующим образом:
.
├── archetypes
│ └── default.md
├── config.toml
├── content
├── data
├── layouts
├── static
└── themes
выберите тему
После создания сайта мы можемHugo
Официальныйтематический магазинВыберите понравившуюся тему и загрузите ее для использования.
здесь сhugo-notepadiumВозьмите эту тему в качестве примера, войдите в личный веб-сайт, созданный на предыдущем шаге, и клонируйте тему вthemes
папка:
git clone https://github.com/cntrump/hugo-notepadium.git themes/hugo-notepadium
.
├── archetypes
│ └── default.md
├── config.toml
├── content
├── data
├── layouts
├── static
└── themes
└── hugo-notepadium
Изменить конфигурацию веб-сайта
Изменить файл конфигурации сайтаconfig.toml
, введите информацию о своем веб-сайте и используемое название темы, или вы можетеОписание темыИнформация о конфигурации в примере здесь для настройки содержимого веб-сайта.
baseURL = "https://example.com"
title = "MyBlog"
theme = "hugo-notepadium"
copyright = "©2020 my name."
Создать статью
Далее мы можем начать писать статьи:
hugo new posts/helloworld.md
Создайте новую статью. использовать в сгенерированном файлеmarkdown
формат для написания содержания статьи.
---
title: "Helloworld"
date: 2020-04-19T23:56:47+08:00
draft: true
---
## 说明
> HelloWorld
这是内容
предварительный просмотр сайта
воплощать в жизньserver
команда для предварительного просмотра всех опубликованных и редактируемых статей:
hugo server -D
Опубликовать контент
После написания статьи и предварительного просмотра вы можете изменить статус черновика статьи.draft: false
, а затем скомпилируйте и создайте статический контент веб-сайта:
hugo -t hugo-notepadium
Как видите, компиляция происходит почти мгновенно. Сгенерированный статический контентpublic
Ниже каталога:
public
├── 404.html
├── categories
├── css
├── index.html
├── index.xml
├── page
├── posts
├── sitemap.xml
└── tags
развернуть онлайн
Самый простой способ развернуть, просто поставитьpublic
Содержимое каталога загружается вGithub
и использоватьGithub Pages
Чтобы создать сайт, вы можете сделать это:xxx.github.io
После посещения вы также можете привязать собственное доменное имя.
Вы также можете написать свой собственныйshell
Скрипт, для автоматической синхронизации после каждой компиляции статьиpublic
содержимое каталога дляGithub
Или собственный сервер для своевременного обновления содержимого онлайн-сайта.
Суммировать
Через предыдущие шаги мы видим, что черезHugo
Очень удобно создавать статические сайты, да и скорость компиляции перед публикацией тоже очень высокая. По сравнению с традиционными динамическими веб-сайтами возможным недостатком является отсутствие визуального фона, который можно добавить или изменить в любое время.markdown
контента, но на самом деле это можно сделать. Мы можем разработать собственную тему. В процессе разработки темы мы можемgetJSON
получитьAPI
С помощью этой функции передаваемые динамические данные могут хорошо сочетать преимущества динамических веб-сайтов и статических веб-сайтов. Я расскажу о том, как разрабатывать собственные темы позже.
Ссылаться на
Добро пожаловать в мою официальную учетную запись или оставьте мне сообщение в области комментариев.
Оригинальный адрес чтения:я лучше, чем Cao Cao/posts/build…