Анекдот про фермера
Налоговый инспектор фермеру:
— А вы не утаивайте, не утаивайте! В конце концов ваши деньги к вам же и возвращаются: ну, знаете, субсидии, дотации…
— Понятно. Вот сейчас отрежу хвост у собаки, чтобы и ей было что на обед.
Комментарии в блоге
Добавлены комментарии в блоге.
В качестве движка используется gitalk.
Как его добавить в light-тему Hexo:
Создайте репозиторий для хранения
Issues
. Я создал с названием gitalk.Создайте приложение в github: тынц.
Это приложение потом можно будет увидеть в списке Settings / Developer settings.
Сгенерируйте “секрет” (Generate a new client secret); запомните (запишите) его.
В light-теме Hexo в
layout\_partial
создайте файл gitalk_comment.ejs со следующим содержанием:<div id="gitalk-container" style="margin: 30px;"></div>
<link rel="stylesheet" href="https://unpkg.com/gitalk/dist/gitalk.css">
<script src="https://unpkg.com/gitalk/dist/gitalk.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/gh/gangdong/gangdong.github.io@dev/assets/js/md5.min.js"></script>
<script>
var gitalk = new Gitalk({
clientID: '<%= gtConfig.clientID %>',
clientSecret: '<%= gtConfig.clientSecret %>',
repo: '<%= gtConfig.repo %>',
owner: '<%= gtConfig.owner %>',
admin: ['<%= gtConfig.admin %>'],
id: md5(location.pathname), // Ensure uniqueness and length less than 50
pagerDirection: '<%= gtConfig.pagerDirection %>',
distractionFreeMode: false // Facebook-like distraction free mode
})
gitalk.render('gitalk-container')
</script>В
layout\_partial\comment.ejs
подключитеgitalk_comment.ejs
:<% if (theme.comment_provider == "gitalk") {
if (config.gitalk) { %>
<%- partial('_partial/gitalk_comment', {gtConfig: config.gitalk}) %>
<% } %>
<% } %>В
_config.yml
light-темы включите использование gitalk-комментариев:comment_provider: gitalk
В корневом
_config.yml
вашего блога выполните настройку gitalk:# gitalk comment
gitalk:
clientID: your_client_id
clientSecret: your_secrat
repo: your_repo_name
owner: your_github_user
admin: your_github_user
pagerDirection: firstclientID
- значениеClient ID
из настроек приложения, созданного на шаге 2.clientSecret
- “секрет” (Client secret), созданный на шаге 3.repo
- название репозитория (шаг 1).owner
иadmin
- имя Вашего пользователя в Github.
OpenVPN APK
Если при установке соединения вылазит ошибка:
10:57 AM OpenSSL: error:0A00018E:SSL routines::ca md too weak |
, то нужно отредактировать настройки на вкладке ADVANCED
: промотать до пункта Enable Custom Options
, включить его и ввести в Custom Options
:
tls-cipher "DEFAULT:@SECLEVEL=0" |
Поиск в блоге
Я считаю, что поиск по блогу - “must-have feature”. К сожалению, в выбранной мною простенькой теме hexo-light поиска не предусмотрено. Поэтому, нужно либо использовать сервисы типа Гугл или Яндекс, либо автоматически создавать индексный файл (xml или json) каждый раз при перегенерации блога и реализовать поиск на клиенте с помощью javascript. Я решил идти по второму пути.
Для генерации индекса выбран плагин для hexo: hexo-generator-searchdb
. Устанавливается он с помощью:
npm install hexo-generator-searchdb |
Конфигурирование делается в _config.yml
блога:
search: |
Следующим шагом нужно создать страницу для поиска. Делается это так:
hexo new page "search" |
В source
каталоге создастся подкаталог search
и в нем index.md
. Содержание надо сделать наподобие такого:
--- |
Я добавил layout
search
в тему hexo-theme-light-plus. title
лучше оставить пустым, тогда в качестве заголовка страницы поиска будет использоваться локализованная строка “search”.
Скрипт для поиска лежит в js/local-search.js. Я его сделал на основе вот этого. Убрал “popup”. Сделал постраничный показ результатов поиска (по 10 на страницу). Настройки в самом local-search.js
:
const CONFIG = { |
В общем, получилось так: поиск.
Обновление MySQL Server на CentOS
При обновлении MySQL Server на CentOS вылезла ошибка:
The GPG keys listed for the "MySQL 8.0 Community Server" repository are already installed but they are not correct for this package. |
Победить можно выполнив команду:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 |