предисловие
Несколько дней назад мне вдруг захотелось завести личный блог. Самостоятельно завести сайт оказалось слишком хлопотно. Кажется, hexo очень хорош от Baidu к Baidu. Но не знаю почему, уже неделю не разобрался, то ли эта ошибка, то ли та ошибка. Как классифицировать теги и управлять ими — это беспорядок, а писать документы очень хлопотно. Потом я сдался. Мне не потребовалось много времени, чтобы узнать, что есть еще одна вещь, называемая vuepress. Хотя сейчас почти 9102, я еще не использовал vue несколько раз. Поэтому я решил взять этот проект, чтобы попрактиковаться и, кстати, изучить Vue. Факты доказали, что это очередной раз наступить на яму, но результат хороший.Спустя долгое время сайт был создан.
1. Что такое вьюпресс
Vuepress — это статическая система блогов, основанная на Vue. Что такое статический блог? Статический блог — это блог, которому не нужно заниматься фоном, а только отображать функции. То есть ни комментариев, ни лайков, ни обсуждений в сети и т.д. Эй, мне становится неловко, когда я это вижу, а комментариев нет, а вдруг я кому-нибудь приглянусь? Но для взаимодействия нужна база данных и бэкграунд. Они бесконечны. Также нужно потратить много денег. Подумав об этом, подумав об этом и, наконец, решив не заводить девушку. Я начну вести статичный блог и в конце просто оставлю свой WeChat. Если увидите мою сестру, можете добавить меня (smiling.jpg).
2. Установите vuepress
Для установки vuepress официальный сайт рекомендует использовать yarn. Получается, что официальная рекомендация была правильной. Я использую npm в своем окне, и результат продолжает получать ошибки. В итоге перешла на пряжу.
что такое пряжа? Я знал об этом еще год назад, но пользуюсь впервые. Вы можете думать о пряже как о npm. Это лишь немного лучше, чем npm. Используемые команды разные. Функционал тот же, а модули скачиваются из библиотеки npm.
шаги установки:
- Создайте новую папку, например, с именем blog
-
Использовать статус администратораЗапустите инструмент командной строки, войдите во вновь созданную папку блога и выполните
yarn init -y
сгенерировать package.json - воплощать в жизнь
yarn global add vuepress
Установите vuepress глобально, а затем выполнитеyarn add -D vuepress
Установить пряжу локально - выполнение командной строки
mkdir docs
, Создайте новую папку документов в папке блога. - Выполнение командной строки echo '# hello world' > docs/README.md Создайте новый файл уценки в папке docs
- воплощать в жизнь
npx vuepress dev docs
Предварительный просмотр эффекта.
2.1 Подробное объяснение шагов:
Как объяснялось на шаге 3, глобальная установка vuepress предназначена для облегчения вызова команд vuepress в командной строке. Также нет необходимости устанавливать vuepress локально, цель локальной установки — разъединить. Когда глобальный vuepress обновляется до другой версии, предыдущую версию vuepress также можно использовать локально, чтобы избежать недоступности проекта из-за обновления. Глобальная установка предназначена только для использования команд из командной строки, и фактический используемый код по-прежнему является локальным кодом.
С шага 1 по шаг 4, после выполнения, результат каталога папки выглядит следующим образом:
В файле блога есть два файла (папки), package.json и docs. На самом деле, в папке блога есть еще папка node_modules. Я проигнорировал ее здесь. Если вы знаете, что она там, я не буду печатать это в командной строке.
.
|-blog
|-docs
|-README.md
|-package.json
воплощать в жизньvuepress dev .
Результат выглядит следующим образом:
Командная строка:
Браузер:
Формат, отображаемый браузером, неверен, он должен отображаться в формате заголовка 1, а результат отображается как «# Hello VuePress!». Такое случается часто. Это не имеет значения. Позже мы можем использовать наш собственный инструмент уценки для редактирования README.md в папке docs.
2.2 Изменить package.json
Добавьте несколько команд в package.json, чтобы упростить нашу работу.
"scripts": {
"docs:dev": "vuepress dev docs",
"docs:build": "vuepress build docs"
}
когда мы бежимyarn docs:dev
эквивалентно бегуvuepress dev docs
когда мы бежимyarn docs:build
эквивалентно бегуvuepress build docs
На данный момент полный код package.json выглядит следующим образом:
{
"name": "blog",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"docs:dev": "vuepress dev docs",
"docs:build": "vuepress build docs"
},
"license": "MIT"
}
2.3 Эффект предварительного просмотра
выполнение командной строкиyarn docs:dev
Предварительный просмотр эффекта. В настоящее время вы можете использовать свой инструмент уценки, чтобы изменить содержимое README.md в разделе docs.После модификации браузер автоматически обновится, чтобы отобразить последний контент.
2.4 Упаковка
выполнение командной строкиyarn docs:build
, vuepress упакует наши файлы уценки для создания html-файлов. Упаковка создаст папку .vuepress в папке docs, а сгенерированные html-файлы будут храниться в папке dist в папке .vuepress.
Мы можем создать новый файл config.js в .vuepress, и, изменив dest, файл можно создать в другом каталоге. Я не буду его изменять.
Сгенерированный html файл можно развернуть на любой статический сервер, я залил его на github.
На данный момент структура каталогов показана на рисунке:
|-blog
|-docs
| |-.vuepress
| | |-dist
| | | |-404.html
| | | |-assets
| | | | |-css
| | | | | |-0.styles.f164d2bb.css
| | | | |-img
| | | | | |-search.83621669.svg
| | | | |-js
| | | | | |-2.aae77c18.js
| | | | | |-3.48b292a8.js
| | | | | |-4.6947e3e9.js
| | | | | |-app.0ffe2193.js
| | | |-index.html
| |-README.md
|-package.json
2.5 Резюме
Вышеизложенное является основным использованием vuepress, я считаю, что большинство людей могут успешно его выполнить. Далее идет продвинутая стадия.
3. Настройте избранное.icon
Это небольшая точка знаний, но ее также очень хлопотно бросить. favourite.icon - вот это.
Шаги для его настройки следующие:
1. Сделать иконку, размер может быть 16*16 или 32*32 или 64*64. Вы можете решить, какой размер вы хотите. Вы можете сделать его в PS или скачать с Baidu.
2. Создайте новую общую папку под .vuepress и поместите в нее созданный значок.
3. Создайте новый файл конфигурации config.js в разделе .vuepress. Есть много элементов, которые можно настроить в config.js, вы можете щелкнуть здесь, чтобы просмотретьнастроить, Я говорю только о самом основном здесь.
Структура каталогов на данный момент выглядит следующим образом:
|-blog
|-.gitignore
|-docs
| |-.vuepress
| | |-config.js
| | |-public
| | | |-favicon.ico
| | | |-favorite.png
| |-README.md
|-package.json
4. Настройте config.js
module.exports = {
title:"前端蜗牛路",
description:"郭邯同学的个人博客",
head:[
['link',{rel:'icon',href:'/favicon.ico'}]
]
}
Обратите внимание, что href ссылки здесь является прямой ссылкой на корневой каталог, о чем я писал ранее:/public/favicon.ico
Результат обусловлен.
Хорошо, теперь снова запустите командную строкуyarn docs:dev
Вы можете увидеть эффект (иногда можно обновить, иногда нет).
4. Настройте панель навигации
4.1 Какова цель
Я хочу такую панель навигации, которая включает в себя Home, Articles, Nuggets, GitHub, Zhihu и Girlfriends.
- Нажмите «Главная», чтобы вернуться на главную страницу блога.
- Нажмите «Статья», чтобы отобразить раскрывающийся список с двумя пунктами «soft skills» и «webgl». Вот два типа контента блога, которым я хочу поделиться
- Нажмите «Самородки», «GitHub» и «Zhihu», чтобы перейти на соответствующие другие домашние страницы моего веб-сайта.
- "Подружка" - это одни из моих необоснованных эмоций (закрывая лицо клавиатурой)
4.2 Настройка config.js
С вышеуказанными целями настраиваем config.js. Мы модифицируем config.js следующим образом:
Навигация под themeConfig — это панель навигации, которую мы настроили.
module.exports = {
title:"前端蜗牛路",
description:"郭邯同学的个人博客",
head:[
['link',{rel:'icon',href:'/favicon.ico'}]
],
themeConfig: {
nav: [
{ text: '首页', link: '/' },
{
text: '文章',
items:[
{ text: '软技能' , link:'/softskill/'},
{ text: 'webgl' , link:'/webgl/'}
]
},
{ text: '掘金', link: 'https://juejin.cn/user/8451823770045' },
{ text: 'GitHub', link: 'https://github.com/ggwork'},
{ text: '知乎', link: 'https://www.zhihu.com/people/yagb/activities'},
{ text: '女朋友', link: '/girlfriend/'}
],
}
}
В конфигурации текст — это текст, отображаемый на панели навигации, ссылка — это ссылка, а элементы — это вторичное меню. Элементы могут быть вложены друг в друга, чтобы можно было отображать многоуровневые меню.
Перед настройкой:
После настройки:
4.3 Создайте новый каталог
В дополнение к внешним ссылкам на панели навигации мы также настроили несколько ссылок, которых еще не существует, '/softskill/', '/webgl/', '/girlfriend/'. Эти ссылки соответствуют соответствующим каталогам на нашем сервере. Если у нас нет этих каталогов на нашем сервере, нажатие на эти меню сообщит об ошибке 404.
Итак, мы должны создать эти каталоги (папки)
Создайте папки softskil, webgl и girlfriend в том же каталоге, что и .vuepress.В каждой папке должен быть файл readme.md, иначе будет сообщено об ошибке.
Структура каталогов на данный момент выглядит следующим образом:
|-blog
|-docs
| |-.vuepress
| | |-config.js
| | |-public
| | | |-favicon.ico
| | | |-favorite.png
| |-girlfriend
| | |-readme.md
| |-README.md
| |-softskill
| | |-readme.md
| |-webgl
| | |-readme.md
|-package.json
Вернитесь в браузер, обновите, нажмите на панель навигации, вы можете обнаружить, что панель навигации уже доступна. Например, нажмите «Подруга». Результат выглядит следующим образом:
С тех пор наша панель навигации была настроена. Для получения подробной информации о параметрах конфигурации, пожалуйста, нажмите здесь, чтобы просмотреть:Конфигурация темы
5. Настройте боковую панель
5.1 Описание требований
Приступим к настройке боковой панели.В качестве примера возьмем «мягкие навыки» под параметрами статьи на панели навигации. После того, как мне нужно щелкнуть «мягкие навыки», слева появится боковая панель, показывающая статьи, которыми мне нужно поделиться в моей папке softskill, чтобы пользователи сети могли просматривать разные статьи, щелкая боковую панель.
5.2 Настройка config.js
Для настройки боковой панели также необходимо настроить config.js, конфигурация следующая:
module.exports = {
title: '前端蜗牛路',
description: '郭邯同学的个人博客',
head: [['link', { rel: 'icon', href: '/favicon.ico' }]],
themeConfig: {
nav: [
{ text: '首页', link: '/' },
{
text: '文章',
items: [
{ text: '软技能', link: '/softskill/' },
{ text: 'webgl', link: '/webgl/' }
]
},
{ text: '掘金', link: 'https://juejin.cn/user/8451823770045' },
{ text: 'GitHub', link: 'https://github.com/ggwork' },
{ text: '知乎', link: 'https://www.zhihu.com/people/yagb/activities' },
{ text: '女朋友', link: '/girlfriend/' }
],
sidebar: {
'/softskill/': [
'',
'软技能-代码之外的生存指南1(职业篇)',
'软技能-代码之外的生存指南2(自我营销篇)',
'软技能-代码之外的生存指南3(自我学习)',
'软技能-代码之外的生存指南4(生产力)',
'软技能-代码之外的生存指南5(理财)',
'软技能-代码之外的生存指南6(健身)',
'软技能-代码之外的生存指南7(精神)'
],
'/webgl/': ['']
}
}
}
боковая панель — это боковая панель, softskill — наши мягкие навыки. '' под softskill означает, что нажмите «soft skills», чтобы отобразить под ним файл readme.md. Все остальное — соответствующий файл уценки.
5.3 Создайте новый файл уценки
На данный момент структура каталогов выглядит следующим образом:
.
|-blog
|-docs
| |-.vuepress
| | |-config.js
| | |-public
| | | |-favicon.ico
| | | |-favorite.png
| |-girlfriend
| | |-readme.md
| |-README.md
| |-softskill
| | |-readme.md
| | |-软技能-代码之外的生存指南1(职业篇).md
| | |-软技能-代码之外的生存指南2(自我营销篇).md
| | |-软技能-代码之外的生存指南3(自我学习).md
| | |-软技能-代码之外的生存指南4(生产力).md
| | |-软技能-代码之外的生存指南5(理财).md
| | |-软技能-代码之外的生存指南6(健身).md
| | |-软技能-代码之外的生存指南7(精神).md
| |-webgl
| | |-readme.md
Обновите браузер, все прошло успешно.
Здесь следует отметить одну вещь: текст боковой панели, настроенный в config.js, может отличаться от текста, отображаемого на боковой панели браузера. Текст, настроенный в конфигурации, является именем файла соответствующей статьи уценки. Текст, отображаемый на боковой панели браузера, является первым текстом, отформатированным как заголовок 1 в содержании статьи с уценкой.
6. Статические ресурсы
Когда мы пишем уценку, нам часто нужно вводить статические ресурсы, такие как изображения и некоторые js. Vuepress предоставляет соответствующий метод для добавления статических ресурсов. Нажмите здесь, чтобы узнать подробности,статические ресурсы.
Однако лично мне это не нравится, потому что иногда мой блог часто нужно копировать и вставлять на другие сайты. В это время, если вы используете статические ресурсы, это будет более хлопотно, и вам придется каждый раз загружать макет. Здесь я рекомендую объектное хранилище Tencent Cloud, почему вы рекомендуете его? Поскольку он бесплатный и имеет 50 ГБ свободного места, этого мне достаточно, чтобы использовать его в течение многих лет.
Для подробного использования, пожалуйста, нажмите здесь.Хранилище объектов Tencent
7. Развертывание
Для развертывания официальный сайт предоставляет файл .sh, но, к сожалению, файл .sh нельзя запустить в Windows. Во всяком случае, согласно руководству, данному на официальном сайте, я долгое время безуспешно. В настоящее время, согласно моим результатам Baidu, у vuepress нет никакого автоматического метода развертывания, В конце концов, я честно использую git, чтобы вручную загружать папку dist на мою страницу github после каждой упаковки.
Для того, как создать страницу github вы можете Baidu, это очень просто, я не буду делиться. Пожалуйста, дайте мне знать, если у вас есть хороший метод развертывания.
Рекомендуемый адрес метода развертывания на официальном сайте находится здесь:развертывать
8. Другое расширенное использование
Vuepress прост, но мощен.С помощью описанных выше шагов мы можем создать веб-сайт, который выглядит некрасиво, но очень практичен. Vuepress можно украсить, и есть много продвинутых применений, например, расширение синтаксиса уценки — это круто, и вы можете сами создавать компоненты. Я не буду их представлять, я доволен уродливым веб-сайтом. Для более подробного использования, пожалуйста, нажмите здесь:
Также рекомендую мой собственный сайт:передняя улитка
Я загрузил демо vuepress на github, вы можете посмотреть его здесь.демо vuepress
Далее, как вы думаете, отображаемая структура каталогов очень красивая, этот инструмент разработан мной,ctree-cli, добро пожаловать на скачивание и использование.