Новые правки

This commit is contained in:
Web-serfer 2026-05-07 17:16:25 +05:00
parent 79db7c8563
commit a5f208a132
19 changed files with 852 additions and 1 deletions

View file

@ -0,0 +1,39 @@
import PocketBase from 'pocketbase';
const PB_URL = 'http://127.0.0.1:8090';
const pb = new PocketBase(PB_URL);
const SLUG_TO_NEW_TITLE: Record<string, string> = {
'skrytie-s-mesta-dtp': 'Скрытие с места ДТП: суть статьи',
'prezumpciya-nevinovnosti-voditelya': 'Презумпция невиновности водителя',
'otkaz-ot-podpisi-v-protokole-gibdd': 'Отказ от подписи в протоколе ГИБДД',
'nezavisimaya-ekspertiza-posle-dtp': 'Независимая экспертиза после ДТП',
'lekarstva-za-rulem-lishenie-prav': 'Лишение прав за лекарства',
'lishenie-prav-za-vstrechku-12-15': 'Лишение прав за выезд на встречную',
'kak-priostanovit-protokol-gibdd': 'Как приостановить протокол ГИБДД',
'avtoyurist-surgut-besplatnaya-konsultaciya': 'Юридическая консультация автоюриста',
'kak-pravilno-zapolnyat-admin-protokol-gibdd': 'Как заполнять протокол ГИБДД',
'protocol-ili-postanovlenie': 'Протокол и постановление ГИБДД',
'5-oshibok-voditelya-pri-zapolnenii-protokola-gibdd': '5 ошибок при заполнении протокола',
};
async function main() {
const posts = await pb.collection('posts').getList(1, 500);
for (const post of posts.items) {
const newTitle = SLUG_TO_NEW_TITLE[post.slug as string];
if (!newTitle) continue;
let content = post.content as string;
// Заменяем старый H2 на новый
if (content.includes('<h2>')) {
content = content.replace(/<h2>[^<]+<\/h2>/, `<h2>${newTitle}</h2>`);
}
await pb.collection('posts').update(post.id, { content });
console.log(`${post.slug}: ${newTitle}`);
}
}
main();