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.
Для получения более подробной информации о Хьюго вы также можете обратиться к:Хьюго от входа до использования