Особливості бота публікувального та формування пермлінку

in Ukraine on Steemlast month

Особливості бота публікувального та формування пермлінку

Щодо можливості відкладеноо публікування дописів, за допомогою безоплатного бота, який згадувався раніше.

По-перше, було виявлено, це щодо самого сервісу. Ключі які додані й засекречені, не показуються навіть при включенні функції редагувати, тобто просто показує порожнє поле. Тож ніхто не підгляне, за умов належної безпеки на різних рівнях.

По-друге, ота відкладена публікаці, чи радше запланована, доступна лише на steempro.com, у мене не вистачило розуму або терпіння чи разом їх разом взятих, щод дало воно бажаний результат. І до того ж, там запитується для цього діла фінансовий ключ. Не пам'ятаю, щоб віна надавався на upvu.org (але він зараз в ауті).

По-третє, бот, тобто скрипт, дає ще одне-два покращення. Це формування пермлінку відповідною українською транслітераціює, як то було постановлено КМУ (так написав ШІ, а мені не захотілось перевіряти деталі). Додатковий плюс до ідентифікації і відокремлення української мови та культури від москалячої. Бо воно так чере steemit.com і шльопає як було.

І мабуть найцікавіше, що дописів можна легко додавати багатенько. Тобто як є написаний матеріал, за допомогою скрпиптів, на пітоні чи ще чомусь, формувати їх у потріний формат розмітки й додавати на сайт.

Приклади.png
Червоним підсвічено те, що мені не подобається, а зеленим потрібні правки

І як можна побачити на зображенні вище, різні сервіси доступу формують пермлінк по різному.
Наприклад, у мене мій редкктор, чомусь не бачив української взагалі, тому були просто цифри. SteemX робить лише набір символів. Steempro наче робить, як Steemit, але додає ще якісь символи, а Steemit як і робив, цілком все ім'я і без цифр зайвих. Змін там не було, та й особлива ураїнська мова, яка зазнає змін і так до неї і не підійдеш з наплигу)). Та в результаті, воно трохи виходить з москалячим відлунням. Де и транслітерується через i. Та завдяки ШІ це поправлено, тепер принаймні бот і редактор, роблять потрібний пермлінк. Хоча там все можна на власний смак робити.

В кодові це має десь такий вигляд для транслітерації:

window.submitToSteem = () => {// --- НОВИЙ БЛОК ТРАНСЛІТЕРЦІЇ (КМУ 2022) ---  
function createPermlinkUA(title) {  
    let text = title.toLowerCase().trim();  
    text = text.replace(/зг/g, 'zgh'); // Правило "зг"  
    const specialStart = { 'є': 'ye', 'ї': 'yi', 'й': 'y', 'ю': 'yu', 'я': 'ya' };  
    const specialMid = { 'є': 'ie', 'ї': 'i', 'й': 'i', 'ю': 'iu', 'я': 'ia' };  
    const standardMap = {  
        'а': 'a', 'б': 'b', 'в': 'v', 'г': 'h', 'ґ': 'g', 'д': 'd', 'е': 'e', 'ж': 'zh',  
        'з': 'z', 'и': 'y', 'і': 'i', 'к': 'k', 'л': 'l', 'м': 'm', 'н': 'n', 'о': 'o',  
        'п': 'p', 'р': 'r', 'с': 's', 'т': 't', 'у': 'u', 'ф': 'f', 'х': 'kh', 'ц': 'ts',  
        'ч': 'ch', 'ш': 'sh', 'щ': 'shch', 'ь': '', '’': '', "'": '', 'ʼ': ''  
    };  
    let result = text.split(/([\s\-]+)/).map(part => {  
        if (/[\s\-]+/.test(part)) return part;  
        let word = "";  
        for (let i = 0; i < part.length; i++) {  
            const char = part[i];  
            if (i === 0 && specialStart[char]) word += specialStart[char];  
            else if (i > 0 && specialMid[char]) word += specialMid[char];  
            else if (standardMap[char] !== undefined) word += standardMap[char];  
            else word += char;  
        }  
        return word;  
    }).join('');  
    return result.replace(/[^a-z0-9-]/g, '-').replace(/-+/g, '-').replace(/^-+|-+$/g, '').substring(0, 150);  
}  

І рядочок там де формується тіло пермлінка:

const parentPermlink = tagsArray[0]; const permlink = createPermlinkUA(title); // Тепер без Date.now() і з правильним транслітом  

Хоч воно і мені й іншим не дуже зрозуміло, проте хтось та в цьому розбирається і для ШІ будуть точніші координати.

Coin Marketplace

STEEM 0.06
TRX 0.32
JST 0.067
BTC 73166.28
ETH 2252.33
USDT 1.00
SBD 0.49