У адным зь бягучых праектаў узьнікла патрэба забясьпечыць магчымасьць абнаўленьня сайту выкарыстоўваючы text-only інтэрфэйс (напрыклад праз ICQ). Натуральна, што карыстальнік павінны мець магчымасьць фарматаваць тэксты, прынамсі на базавым узроўні (тлусты, курсіў, падкрэсьлены).
Праблема гэтая (фармальна) вырашаная даўно - гэта мовы спрошчанай разьметкі (lightweight markup languages), у народзе вядомыя таксама як вікіразьметка, бо яны традыцыйна выкарыстоўваюцца ў вікі-рухавіках. У тэксьце ставяцца дастаткова простыя маркеры:
text *bold* /italic/ _underlined_
Існуе іх больш за тузін, рознай складанасьці і прызначэньня. Для найбольш распаўсюджаных лёгка знайсьці гатовыя модулі (у маім выпадку на CPAN - бо мой праект на Perl), так што і рэалізацыя - як два пальцы...
Аднак, калі справа дайшла да практычнага выкарыстаньня, дык вылезла бокам адна немаленькая нязручнасьць: яны ўлучаюць частае выкарыстаньне сымбаляў, недаступных у нелацінскай раскладцы, напрыклад "[{~^". Набор кірылічнага тэксту з-за гэтага становіцца злым заняткам, бо даводзіцца бясконца скакаць на кнопках пераключэньня, а калі вы не валодаеце "сьляпым" мэтадам набору - то бок, на клявіятуру глядзіце больш як на экран - то вы раз за разам адкрываеце для сябе, што ўжо паўсказы набралі ня ў той раскладцы, і з парай нецэнзурных слоўцаў панаціскаўшы backspace, пачынаеце наноў. That's, уласна кажучы, why я вырашыў стварыць свой дыялект спрошчанай разьметкі, больш прыдатны для выкарыстаньня з кірылічнай раскладкай.
Мэта:
Мінімізаваць неабходнасьць пераключаць раскладкі, незалежна ад таго набіраецца тэкст лацінскім альфабэтам (за аснову ўзятая раскладка en_US) ці кірылічным (за аснову ўзятая be_BY, аднак для расейскай ці ўкраінскай асаблівай розьніцы ня мае будзе).
Падставовыя прынцыпы:
Інтуітыўная зразумеласьць. Г.зн. разьметка павінна даваць бачны намёк на тое, што яна азначае, і, дзе магчыма, супадаць з традыцыямі набору.
Заўважнасьць. Гэта значыць, што разьметка не павінна візуальна зьлівацца з масівам тэксту.
СТРУКТУРНАЯ РАЗЬМЕТКА
=Загаловак
==Загаловак 2-га ўзроўню)
===Загаловак 3-га ўзроўню
====Ну, вы зразумелі :)
* сьпіс
* сьпіс
** укладзены сьпіс
** укладзены сьпіс
# нумараваны сьпіс
## укладзены нумараваны сьпіс
ФАРМАТАВАНЬНЕ
__падкрэсьлена__
//курсіў//
**тлусты**
Некаторыя вікідыялекты абыходзяцца ў такіх выпадках адзінарным знакам (*тлусты*, /курсіў/), але на мой поглад гэта пярэчыць прынцыпу заўважнасьці. Апрача таго, гэта шкодзіць адназначнасьці - і зорачка і слэш могуць выкарыстоўваюцца ў тэксьце самі сабой.
-/закрэсьлена/- ці -|закрэсьлена|-
Бальшыня дыялектаў увогуле ігнаруе закрэсьліваньне, напэўна, праз тое, што няма адпаведнага стандартнага html-тэгу, аднак, я лічу, што гэта досыць важны элемэнт.
Можа ўзьнікнуць пытаньне, чаму тут не выкарыстаны закладзены вышэй прынцып: "--закрэсьлена--"?
Таму што "--" ў традыцыях набору азначае em dash.
=?вікіспасылка=
=?спасылка=>url=
Можна заўважыць, што знак ">" недаступны ў кірылічнай раскладцы, аднак для набору адрасу (URL) у кожным разе давядзецца пераключацца на лацінскі алфабэт, так што тут гэта не зьяўляецца праблемай.
Пакуль, што гэта ўсё, бо ў маім праекце большага ня трэба. Але на будучыню варта дапоўніць такімі штукамі як blockqoute, pre і табліцамі.
Recent Comments