Hugo — генератор статических веб-сайтов, реализованный на языке Go. Простой, удобный в использовании, эффективный, легко расширяемый и быстро развертываемый.
Почему выбирают Хьюго?
- быстрый! Самый быстрый генератор статических сайтов в мире! 5 секунд для создания 6000 страниц!
- Супер подробная документация, хоть и на английском
- активное сообщество
- Более свободный способ организации контента
- Богатые темы, в настоящее время количество тем превысило Hexo
Установить Хьюго
1. Бинарная установка (рекомендуется: легко, быстро)
Windows
- перейти кGitHub.com/go Hugo IO/Hu…
- Скачать Hugo_X.XX_Windows-64bit.zip
- Разархивируйте, чтобы получить Hugo.exe
- Добавьте каталог, в котором находится Hugo.exe, в переменные системной среды.
- Установка завершена!
Установите напрямую с Homebrew под Mac:
brew install hugo
2. Установка источника
Чтобы скомпилировать и установить исходный код, сначала установите зависимые инструменты:
mkdir $HOME/src
cd $HOME/src
git clone https://github.com/gohugoio/hugo.git
cd hugo
go install
go install --tags extended
Поддержка Sass/SCSS при необходимости.
如果是Windows用户, `$HOME` 环境变量是 `%USERPROFILE%`
Совет: мне иногда нравится это делать, откройте папку /src , щелкните правой кнопкой мыши папку и выберите здесь git bash ,
git clone https://github.com/gohugoio/hugo.git
,Потомcd hugo
,go install
[Во время установки будет сообщено об ошибке] go get 报错"https fetch failed: Get https://golang.org/x..."
Из-за отсутствия внутренней связиgolang.org
, будет сообщено об ошибке при использовании go get для установки пакета, зависящего от golang.org.Fetching https://golang.org/x
, если вы не используете прокси, вам нужно скачать его вручную.
существует$GOPATH/src
Создано по путиgolang/x
Папку и загрузите нужный пакет, возьмите приведенную выше ошибку в качестве примера под Windows. Вышеупомянутая ошибка не может быть полученаhttps://golang.org/x/net text image sync
Теперь давайте получим его вручную.
ОткрытымGit Bash
mkidr -p ~/go/src/golang.org/x //注意路径
cd ~/go/src/golang.org/x
git clone https://github.com/golang/net.git
git clone https://github.com/golang/text.git
git clone https://github.com/golang/image.git
git clone https://github.com/golang/sync.git
Таким образом, когда мы пойдем снова, это будет успешным.
Убедитесь, что установка прошла успешно
hugo version
Пожалуйста, обратитесь к другим системамОфициальная документация - Установка
Создать сайт
hugo new site yannotes.cn
cd yannotes.cn
После выполнения команды Hugo New Site вы получите каталог со следующими файлами:
├── archetypes/
├── config.toml
├── content/
├── data/
├── layouts/
├── static/
├── resources/
├── public/
└── themes/
- archetypes: хранить файлы шаблонов .md, похожие на скаффолды hexo, эта папка имеет более высокий приоритет, чем папка /archetypes в теме
- config.toml: файл конфигурации
- контент: хранить весь контент веб-сайта, аналогичный источнику hexo
- data: хранить файлы данных для вызовов шаблонов, аналогично исходному файлу hexo/_data.
- layouts: хранить шаблоны .html, эта папка имеет более высокий приоритет, чем папка /layouts в теме
- static: Храните статические файлы, такие как изображения, css, js и т. д. Файлы в этом каталоге будут скопированы непосредственно в /public, и приоритет этой папки выше, чем у папки /static в теме.
- темы: сохранить темы
- public: после выполнения команды Hugo сохраните сгенерированные статические файлы
Добавить темы (скины)
прибытьсписок скиновВыберите скин, который вам нравится, например, что вы думаетеHyde
Скин хороший, найдите соответствующий адрес GitHub, создайте каталогthemes
,существуетthemes
оболочекgit clone
вниз:
git clone https://github.com/spf13/hyde.git themes/hyde
# 编辑你的 config.toml 配置文件使用该主题
echo 'theme = "hyde"' >> config.toml
темы: даже:GitHub.com/o низкий OL O/Hu Ge…
git clone https://github.com/olOwOlo/hugo-theme-even themes/even
добавить статью
- Создайте страницу о себе:
$ hugo new about.md
about.mdАвтоматически генерируется в content/about.md , откройтеabout.mdПосмотри:
+++
date = "2018-12-02T01:46:53+08:00"
draft = true
title = "about"
+++
正文内容
Содержимое находится в формате Markdown, а содержимое между +++TOML
формат, в соответствии с вашими предпочтениями, вы можете изменить наYAML
формат (отмеченный ---) илиJSON
Формат.
- Создайте первую статью и поместите ее в каталог сообщений., что удобно для последующего создания агрегированных страниц.
$ hugo new post/first.md
Он создаст каталог post/first.md и файл в каталоге содержимого в корне сайта.
Открыть для редактирования post/first.md :
---
date: "2018-12-02T01:46:53+08:00"
title: "first"
---
### Hello Hugo
1. aaa
1. bbb
1. ccc
Локальный запуск Hugo
Выполните команду Hugo в корневом каталоге вашего сайта для отладки:
$ hugo server --theme=hyde --buildDrafts --watch
использовать--watch
Параметр может автоматически обновлять браузер при изменении содержимого статьи.
Открыть в браузере:http://localhost:1313
- Обработка каталогов навигации
[[menu.main]]
name = "Home"
weight = 10
identifier = "home"
url = "/"
[[menu.main]]
name = "Archives"
weight = 20
identifier = "archives"
url = "/archives/"
[[menu.main]]
name = "Tags"
weight = 30
identifier = "tags"
url = "/tags/"
Это управление конфигурацией навигации сайта.url = "/tags/"
Указывает, что он находится в корневом каталоге сайтаcontent/tags/
Справочника, других подобных, вполне достаточно корреспонденции один на один.
добавить систему комментариев
в настоящее время используетgitmentВ процессе главноеrepoПроблема в значении параметра, это имя вашего склада (а не полный путь)~ например, я здесь~
louyan.github.io
развертывать
Предположим, вам нужно развернуть вGitHub Pages
, сначала создайте его на GitHubRepository
, по имени:louyan.github.io
(louyan
заменить на свойgithub
имя пользователя).
Выполните команду Hugo в корневом каталоге сайта, чтобы сгенерировать финальную страницу:
$ hugo --theme=hyde --baseUrl="http://louyan.github.io/"
Если все пойдет хорошо, все статические страницы будут созданы дляpublic
каталог, будетpubilc
Все файлы в каталогеpush
к только что созданномуRepository
изmaster
филиал.
$ cd public
$ git init
$ git remote add origin https://github.com/louyan/louyan.github.io.git
$ git add -A
$ git commit -m "first commit"
$ git push -u origin master
Посетите в браузере:http://louyan.github.io/
этот сайтЗаметки РСЯЭто то, что я сгенерировал с помощью Hugo.
Для получения более подробной информации о Хьюго вы также можете обратиться к:Хьюго от входа до использования