HUGO Wiki - удобная база знаний без БД/Админок/Плагинов/Cms
- Install gohugo EXTENDED!!!
https://github.com/gohugoio/hugo/releases
cd /tmp
wget https://github.com/gohugoio/hugo/releases/download/v0.88.1/hugo_extended_0.88.1_macOS-64bit.tar.gz
tar xvf hugo_extended_0.88.1_macOS-64bit.tar.gz
Смотрим где лежит hugo
which hugo
Проверяем старую версию
hugo version
Копируем на место старого
mv hugo /usr/local/bin/hugo
Проверяем снова версию
hugo version
- Configure Hugo
https://gohugo.io/getting-started/quick-start/
cd ~
hugo new site hugowiki
- Add theme
Страница темы
https://docs.vantage-design.com/ace/ https://github.com/vantagedesign/ace-documentation https://themes.gohugo.io/themes/ace-documentation/
cd hugowiki
git init
git submodule add https://github.com/vantagedesign/ace-documentation.git themes/ace-documentation
Add theme to config hugo
echo 'theme = "ace-documentation"' >> config.toml
- Create post
hugo new posts/my-first-post.md
vim content/posts/my-first-post.md
Заменить на draft: false
- View post
hugo server -D
Переходим в браузер http://localhost:1313/
- Ace просматривает структуру вашего файла и автоматически превращает ее в меню. Структура выглядит следующим образом:
/content
├── _index.md
├── page-top.md
└── /level-one
├── _index.md
├── page-1-one.md
├── page-1-two.md
└── /level-two
├── _index.md
├── page-2-one.md
├── page-2-two.md
└── /level-three
...
Ваша “домашняя страница” для каждого уровня - это _index.md файл. Подстраницы (например, page-1-one.md) автоматически добавляются в меню как дочерние страницы.
- Создадим домашнюю страницу
hugo new _index.md
vim content/_index.md
hugo server -D
- Создадим вложенный пост для проверки вложенности категория в меню слева
hugo new devops/my-devops.md
vim content/devops/my-devops.md
hugo server -D
-
Также попробуем с дочерними страницами
Сначала домашняя страница для категории cicd
hugo new cicd/_index.md
vim content/cicd/_index.md
Вставим в шапку домашней страницы категории шорткод дочерних страниц:
* ВНИМАНИЕ! УБЕРИТЕ НИЖНЕЕ ПОДЧЕРКИВАНИЕ
{_{_< childpages >_}_}
- ПОСЛЕ как посмотрите - можете решать нужны ли это ссылки в шапке
ТЕПЕРЬ ПОПРОБУЕМ 2 ВАРИАНТ:
- Создаем обычную страницу в категории cicd
hugo new cicd/jenkins.md
vim content/cicd/jenkins.md
- А ТЕПЕРЬ создадим вложенную категорию GITLAB с домашней страницей и доп about_gitlab.md
hugo new cicd/gitlab/_index.md
* Вспоминаем наш шорткод (убрать подчеркивание) {_{_< childpages >_}_}, вставлять или нет - решать вам :)
vim content/cicd/gitlab/_index.md
hugo new cicd/gitlab/about_gitlab.md
vim content/cicd/gitlab/about_gitlab.md
И запустим hugo
hugo server -D
- Кастомизация темы
-
Открыть dev tool и показать как менять все
-
Копируем файл к себе ace.min.css в static/style.css. Тем самым мы перезапишем стили
Код файла https://pastebin.linuxlife.page/wataquqala.pl
- Добавим также в config.toml
[params]
custom_css = ["style.css","style.css"]
- Кастомизация на максималках
ЭКСПЕРИМЕНТИРУЕМ С ДОМАШНЕЙ СТРАНИЦЕЙ
vim content/_index.md
- Отключаем Read More
vim config.toml
disableReadmoreNav = true
- Отключаем сортировку по весу наших статей (будем делать по алфавиту)
vim config.toml
orderSectionsby = "title"
- Читаем интересные shortcodes темы https://docs.vantage-design.com/ace/shortcodes/
- Используем childpages в шапке поста
{_{_< childpages >_}_}
- Шорт код для кода с выбором языка
* ВНИМАНИЕ - убрать нижнее подчеркивание!
{_{_< code lang="LANG" >_}_} [your code] {_{_< /code >_}_}
- Список LANG можно посмотреть здесь https://gohugo.io/content-management/syntax-highlighting/#list-of-chroma-highlighting-languages
- Дабл код
* ВНИМАНИЕ - убрать нижнее подчеркивание!
{_{< doublecode lang="LANG" >_}_} [your code] {_{_< /doublecode >_}_}
- Выделение абзаца
* ВНИМАНИЕ - убрать нижнее подчеркивание!
{_{_< lead >_}_} [content] {_{_< /lead >_}_}
- Отделить информацию от основной части с помощью “панели”
* ВНИМАНИЕ - убрать нижнее подчеркивание!
{_{_< panel title="TITLE" style="STYLE" >_}_} [content] {_{_< /panel >_}_}
- Стили primary, secondary, danger, warning, success, info
- Таблица
* ВНИМАНИЕ - убрать нижнее подчеркивание!
*
{_{_< table style="STYLE" >_}_}
| Tables | are | cool |
| ------------- |:-------------:| -----:|
| col 3 is | right-aligned | $1600 |
| col 2 is | centered | $12 |
| zebra stripes | are neat | $1 |
{_{_< /table >_}_}
*Стили table-striped, table-dark, table-bordered, table-hover
- Алерты
* ВНИМАНИЕ - убрать нижнее подчеркивание!
{_{< alert style="STYLE" >_}_} [content] {_{_< /alert >_}_}
- Стили danger, warning, success, info
- Кнопки
{_{_< button style="STYLE" link="https://yourwebsite.com" >_}_} [content] {_{_< /button >_}_}
- Стили primary, secondary, danger, warning, success, info Если нужна кнопка без заполнения, то используем вместе со словом outline-primary