Данфа

CSS переменные в SVG

На данный момент работаю с SVG. Практически в каждом теге есть код цвета. В основном использую одни и те же цвета, пока их всего пять. Думаю, что в будущем цвет буду менять, придётся копаться в нескольких файлах, производить замену. Тут задумался - а ведь проще написать переменные и использовать их, в будущем не придётся рыться в нескольких файлах, а отредактировать всего один. Так я и сделал, я добавил переменные в SVG. Сейчас расскажу, как я это сделал.

Я создал файл: "svg.css", с таким содержимым:
:root {
	--cool:   #0074FF; /* Оттенок синего */
	--murk:   #033C59; /* Оттенок синего + зелёного */
	--spring: #48CFAD; /* Оттенок зелёного */
	--smoke:  #CCD3EB; /* Оттенок серого */
	--fire:   #FC6459; /* Оттенок красного */
}

Подключил "svg.css" к документу. Теперь в SVG меняю:
<g fill="#0074FF">

На:
<g fill="var(--cool)">

Готово. Переменная отдаёт указанный ей код цвета.

CSS переменная должна начинаться с двойного дефиса (--).

...

Диск защищён от записи (Разблокировка накопителя)

При появлении ошибки: Диск защищён от записи, мне помогла Командная строка, и пару введённых команд. И так, открываем Командную строку, от имени Администратора, и вбиваем команду: diskpart, затем вбиваем команду: list disk. Вторая команда выведет список всех дисков, что установлены в Вашем ПК, в том числе и флешка, которая защищена от записи. Например такой:
DISKPART> list disk

  Диск ###  Состояние      Размер   Свободно Дин  GPT
  --------  -------------  -------  -------  ---  ---
  Диск 0    В сети          238 Gбайт    16 Mбайт        *
  Диск 1    В сети          476 Gбайт  3072 Kбайт        *
  Диск 2    В сети         7440 Mбайт      0 байт        *

Следующей командой нам надо выбрать флешку над которой "колдуем". Моя флешка в данном списке №2, поэтому моя команда выглядит так: select disk 2. У Вас может быть другая цифра, смотрите по объёму накопителей. Выбрав свою флешку, вбиваем команду:
attributes disk clear readonly

Данная строчка должна удалить...

MySQL: Как произвести замену строки по всей таблице

SQL
Потребовалось мне произвести замену строки size:: на size:, сразу во всех записях, в поле text, таблицы comment. В чём мне помог запрос ниже:
UPDATE `comment`
SET `text` = replace(`text`, 'size::', 'size:');

Одно мгновение и замена произведена, во всех записях сразу.

Если надо заменить сразу несколько строк/подстрок, можно делать так:
UPDATE `comment` SET `text` = replace(`text`, '[size:1]', '[title]');
UPDATE `comment` SET `text` = replace(`text`, '[size:2]', '[title]');
UPDATE `comment` SET `text` = replace(`text`, '[size:3]', '[title]');
UPDATE `comment` SET `text` = replace(`text`, '[/size]', '[/title]');


...

Nginx: Добавление слеша в конце URL, если его там нет

Ранее страницы моего сайта открывались, как с слэшем в конце URL, так и без него. Чтобы не допустить дублей страниц, я решил, что мой сайт будет работать только с слэшем в конце URL. Проверку слэша и его добавления делал на PHP:
		// Добавление слеша в конце URL, если его там нет
		if (substr($url, -1) != '/')
		{
			if (!preg_match('/(.*)\.(jpg|jpeg|gif|png|js|css|ico)/i', $url))
			{
				$url = $url . '/';
			}
		} // End: Добавление слеша в конце URL, если его там нет

Слэш добавляется ко всем URL, кроме тех, что имеют на конце: jpg|jpeg|gif|png|js|css|ico.

Всё работает отлично, но грешно делать это на PHP, если есть Nginx... Поискав в интернете решение моей задачи, нашёл такую строку кода:
rewrite ^([^.\?]*[^/])$ $1/ permanent;

Данный код добавляет слэш в конец всем URL, кроме тех, где есть точка (.) или параметры (id=1). А значит картинки, к которым будут обращаться на прямую, остаются без слэша.

Вставил строку в location:
	location / {
		rewrite
...

Nginx: Удаление лишних слэшев в URL

Ранее я удалял лишние слэши, при помощи PHP. Делал так:
		// Удаление лишних слешев
		if (preg_match('/\/{2,}/i', $url))
		{
			$url = preg_replace('/\/{2,}/', '$1/', $url);
		} // End: Удаление лишних слешев

Сегодня, наконец то, дошли руки, чтобы перенести удаление лишних слэшев в конфиг Nginx. Я добавил в server следующий код:
	# Удаление лишних слешев
	if ($request_uri ~ "//") {
		return 301 $uri;
	} # End: Удаление лишних слешев

После чего перечитал конфигурацию, при помощи команды:
nginx -s reload

Теперь код в PHP удаляю, больше он не нужен. Работает Nginx.

Возможно, будет интересно:
- Блог: Nginx: Добавление слеша в конце URL, если его там нет
- Блог: Nginx: Удаление параметров в URL...