Содержание
Требования:
- Подсветка кода - powershell, bash, yaml, dos
- Таблицы
- Галереи картинок
- Плейлист аудио
Datenstrom Yellow
Настройки
Page settings
The following settings can be configured at the top of a page:
Title = page title TitleContent = page title shown in content TitleNavigation = page title shown in navigation TitleHeader = page title shown in web browser TitleSlug = page title used for saving the page Description = page description Author = page author(s), comma separated Email = email of page author Language = page language, e.g. en Layout = page layout LayoutNew = page layout for creating a new page Theme = page theme Parser = page content parser Status = page status, supported status values Redirect = redirect to a new page or URL Image = page image ImageAlt = description of the page image Modified = page modification date, YYYY-MM-DD format Published = page publication date, YYYY-MM-DD format Tag = page tag(s) for categorisation, comma separated Generate = page option(s) for generating a static website, comma separated Comment = page option(s) for showing comments, comma separated
The following page status values are supported:
public = page is a normal page private = page is not visible, user needs to enter password, requires private extension draft = page is not visible, user needs to log in, requires draft extension unlisted = page is not visible, but can be accessed with the correct link shared = page is not visible, but can be included in other pages
Плагины
https://datenstrom.se/yellow/extensions/
https://github.com/GiovanniSalmeri?tab=repositories&q=yellow-&type=&language=&sort=
https://github.com/RobskiV/yellow-plugins
Установка
Способ 1 (для официальных расширений): В Докере: docker exec -it yellow-php php82 yellow.php install <имя расширения>
Способ 2: Скопировать zip в system\extensions и обновить страницу сайта, архив сам распакуется и установится.
curl -L https://github.com/GiovanniSalmeri/yellow-video/archive/refs/heads/main.zip -o ~/volumes/yellow/system/extensions/video.zip
Картинки
Одиночные: https://github.com/annaesvensson/yellow-image
[image photo.jpg "description of the image" style width height]
Name = file name
Alt = description of the image, wrap multiple words into quotes
Style = image style, e.g. left, center, right (или прочерк для значения по умолчанию)
Width = image width, pixel or percent
Height = image height, pixel or percent
Слайдер: https://github.com/annaesvensson/yellow-slider
[slider photo.*jpg name loop 100% 1000]
Pattern = file name as regular expression
Sorting = gallery sorting, e.g. name, modified, size
Style = gallery style, e.g. loop, fade, slide
Size = image size, pixel or percent
Autoplay = play images automatically, delay time in milliseconds
Галерея: https://github.com/annaesvensson/yellow-gallery
[gallery photo.*jpg name zoom 300]
Pattern = file name as regular expression
Sorting = gallery sorting, e.g. name, modified, size
Style = gallery style, e.g. zoom, simple
Size = image size, pixel or percent
Расчёт размера картинок в галерее
$width = 879 $border = 4 $row = read-host "Кол-во картинок в ряду" ($width - $border * ($row - 1)) / $row
Аудиоплеер
https://github.com/GiovanniSalmeri/yellow-sound
[sound my_song.mp3] [sound violin/ciaccona.flac] [sound album=2214@funkwhale.it] [sound track=3VM35337X7Ro1tesUHnZ95] [sound playlist.m3u]
Подсветка синтаксиса
Установка: docker exec -it yellow-php php82 yellow.php install highlight
https://github.com/annaesvensson/yellow-highlight
Языки: https://github.com/scrivo/highlight.php/tree/master/src/Highlight/languages
Youtube
Установка: docker exec -it yellow-php php82 yellow.php install youtube
https://github.com/annaesvensson/yellow-youtube
Video
RSS feed
Установка: docker exec -it yellow-php php82 yellow.php install feed
https://github.com/annaesvensson/yellow-feed
/system/themes/snippets/footer.php
<a href="<?php echo $yellow->page->base."/feed/page:feed.xml" ?>">Feed</a>.
/system/config/config.ini
FeedFilter: blog
https://internetblogger.de/2016/11/yellow-cms-rss-feed-plugin-installieren/
Typography
Обновление
docker exec -it yellow-php php82 yellow.php update Blog 0.8.28 Copenhagen 0.8.15 Core 0.8.123 Edit 0.8.76 Feed 0.8.21 Markdown 0.8.26 Search 0.8.29 Update 0.8.95 Yellow update: Updates are available. Please type 'php yellow.php update all'. docker exec -it yellow-php php82 yellow.php update all Yellow update: Website updated, 8 extensions updated
Ghost
https://hub.docker.com/_/ghost/
https://ghost.org/docs/config/#
Доступ к админке: /ghost
HTMLy
Pico
Wordpress
Установка
# Скачать последнюю версию wget https://ru.wordpress.org/latest-ru_RU.zip # Распаковать unzip latest-ru_RU.zip # Скопировать в корень веб-каталога mv wordpress/* /var/www/html # Дать права веб-серверу chown -R www-data:www-data /var/www/html # Сделать базу под названием wordpress: mysql -u root -p -e "create database wordpress";
Далее зайти на веб-интерфейс и пройти пошаговую установку.
Настройка
# Симлинки - нужны, чтобы освободить место на системной флешке. # После переноса папки wp-content на отдельную карточку SD, создаётся симлинк, # чтобы Wordpress думал, что он кладёт данные туда же, куда и раньше. # сделать симлинк на первый путь со второго ln -s /media/sdcard/wp-content /var/www/html/wp-content # заменить владельца симлинка на веб-сервер chown -h www-data:www-data /var/www/html/wp-content # рекурсивно заменить владельца файлов в новом расположении chown -R www-data:www-data /media/sdcard/wp-content # Настроить максимальный размер файла на закачку в PHP # Проверить версию PHP и путь к используемому php.ini, например, он может быть # /etc/php/7.0/fpm/php.ini. Есть ещё # /etc/php/7.0/cli/php.ini. sed -i ' /upload_max_filesize =/c upload_max_filesize = 4G /post_max_size =/c post_max_size = 4G' /etc/php/7.0/apache2/php.ini # Отключить листинг каталогов сайта echo "Options -Indexes" >> /var/www/html/.htaccess
Воспроизведение аудиофайлов в браузере в Ubuntu
Для этого нужно поставить кодеки:
sudo apt-get install ubuntu-restricted-extras
Миграция
https://wordpress.org/support/article/backing-up-your-database/
https://wordpress.org/support/article/moving-wordpress/
https://wpengine.com/resources/migrate-wordpress-site/
Миграция на статику
В Wordpress: Инструменты → Экспорт → Всё содержимое
docker run --rm --name node -it -v /home/user/wp:/app node:alpine sh cd /app wget https://github.com/lonekorean/wordpress-export-to-markdown/archive/refs/heads/master.zip unzip master.zip cd wordpress-export-to-markdown-master/ npm install && node index.js Starting wizard... ? Path to WordPress export file? ../WordPress.2023-08-04.xml ? Path to output folder? output ? Create year folders? No ? Create month folders? No ? Create a folder for each post? Yes ? Prefix post folders/files with date? No ? Save images attached to posts? Yes ? Save images scraped from post body content? Yes ? Include custom post types and pages? No Parsing... 621 posts found. 643 attached images found. 525 images scraped from post body content. Saving 621 posts (0 already exist)... [OK] post-1 [OK] post-2 [OK] post-3 ... Done, got them all! Downloading and saving 906 images (0 already exist)... [OK] 0_35843_228d6bb_L.jpg [OK] 0_35833_ef4db138_L.jpg [OK] 0_35842_b0b48f84_L.jpg ... Done, but with 3 failed. All done! Look for your output files in: /app/wordpress-export-to-markdown-master/output
https://swizec.com/blog/how-to-export-a-large-wordpress-site-to-markdown/
https://github.com/lonekorean/wordpress-export-to-markdown
Полезные плагины
Stop User Enumeration - отключает выведение списка пользователей по запросу извне
Email Address Encoder - видоизменяет почтовые адреса в коде таким образом, что их не могу прочитать роботы-сборщики
WP Fail2Ban Redux - перенаправляет логи в /var/log/auth.log для работы fail2ban
Duplicator - gives WordPress users the ability to migrate, copy, move or clone a site from one location to another and also serves as a simple backup utility.
SyntaxHighlighter Evolved - allows you to easily post syntax-highlighted code to your site without losing its formatting or making any manual changes.
Использование SyntaxHighlighter Evolved
[code lang="css"]
your code here
[/code]
Если язык не указывать, по умолчанию - text.
Список поддерживаемых языков:
- actionscript3
- bash
- clojure
- coldfusion
- cpp
- csharp
- css
- delphi
- diff
- erlang
- fsharp
- groovy
- html
- java
- javafx
- javascript
- latex (you can also render LaTeX)
- matlab (keywords only)
- objc
- perl
- php
- powershell
- python
- r
- ruby
- scala
- sql
- text
- vb
- xml
Хитрости
Как сделать название аудиофайла рядом с треком
В данном случае название будет курсивом
<p style="display: inline;"><em>Название аудиофайла</em></p> [audio mp3="http://site/wp-content/uploads/2017/03/12345.mp3"][/audio]
Якоря в тексте
Вставить приветствие на странице в зависимости от времени суток
- daytime.js
<script language="JavaScript" type="text/javascript"> date = new Date(); date = date.getHours(); if (date >= 0 && date < 6) {document.write("Доброй ночи!")} else {if (date >= 6 && date < 12) {document.write("Доброе утро!")} else {if (date >= 12 && date < 18) {document.write("Добрый день!")} else {document.write("Добрый вечер!")} }} //--></script> <noscript>Привет!</noscript>
Код встраивания роликов с Youtube без лишних функций
Заменить qhRL6SBHMsQ в коде на нужное значение
- youtube.html
<iframe width="560" height="312" src="https://www.youtube.com/embed/qhRL6SBHMsQ?rel=0&showinfo=0" frameborder="0" allowfullscreen></iframe>
HTML и таблицы
Пример таблицы для корректного отображения в Wordpress:
<table style="text-align: left;" "border:none;"><tbody> <caption>Было:</caption> <col style="width:50%;" /> <col style="width:20%;" /> <col style="width:15%;" /> <col style="width:15%;" /> <tr><th>Имя подкаталога</th><th>Размер</th><th>Файлы</th><th>Папки</th></tr> <tr><td>Концерты</td><td>181,1 ГБ</td><td>204</td><td>30</td></tr> <tr><td>Мультфильмы</td><td>153,5 ГБ</td><td>717</td><td>43</td></tr> <tr><td style="width:21em">Документальные фильмы</td><td>126,9 ГБ</td><td>189</td><td>27</td></tr> <tr><td>Записи</td><td>87,1 ГБ</td><td>33</td><td>5</td></tr> <tr><td>Художественные фильмы</td><td>55,2 ГБ</td><td>48</td><td>5</td></tr> <tr><td>Детские фильмы</td><td>41,3 ГБ</td><td>39</td><td>3</td></tr> <tr><td>Образование</td><td>30,4 ГБ</td><td>1250</td><td>59</td></tr> <tr><td>Прочее</td><td>67,9 МБ</td><td>13</td><td>1</td></tr> <tr><th>Всего:</th><th>675,7 ГБ</th><th>2493</th><th>181</th></tr> </tbody></table>
Introduction to HTML for wordpress.com users
Table coding for wordpress.com users
Решение проблем
"Извините, вам не разрешено просматривать эту страницу" в админке
Добавить в wp-config.php
// Только не в конец файла, а сразу после настроек базы $_SERVER['HTTPS'] = 'on';
https://serveradmin.ru/oshibka-wordpress-izvinite-vam-ne-razresheno-prosmatrivat-etu-straniczu/
Array and string offset access syntax with curly braces is no longer supported
После обновления PHP с 7.4 до 8.2 сайт не работает, в логах Nginx ошибка:
2023/06/18 20:05:42 [error] 31#31: *451 FastCGI sent in stderr: "PHP message: PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported in /var/www/html/wp-content/plugins/simple-mail-address-encoder/simple-mail-address-encoder.php on line 83" while reading response header from upstream, client: 172.18.0.11, server: wp, request: "GET /tag/%D0%B7%D0%B0%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5/ HTTP/1.1", upstream: "fastcgi://172.18.0.5:9000", host: "bva.dyndns.info"
Решение: заменить в упомянутом PHP-файле в упомянутой строке значение в фигурных скобках на значение в квадратных скобках.
// Было echo($str{0}); // Стало echo($str[0]);