kis Ubiquity ismét

Summary:
Probléma: nem tudok normálisan kötőjelet és magyaros idézőjeleket írni hupon
Megoldás: ubiquity parancs

olybá tűnik sokkal szívesebben gyártok Ubiquity parancsokat, mint userscriptet… pedig jelenleg talán az utóbbiban célszerűbb lett volna.
A dolog úgy állt, hogy kezdett zavarni, hogy hupon mikor kommentelek (hol máshol kommentel az ember), a multi key-jel minden gond nélkül tudok —-t írni, ami nem magyaros, meg …-ot, de az idézőjeleken még dolgozni kell…
Ezért kreáltam egy kőprimitív kis scriptet, amit ha kijelölünk egy részt textarea-ban, és lefuttatjuk, lecseréli a „...”-ot …-ra, a „--”-t pedig –-re, meg az idézőjeleket is konvertálja ""-ről „”-re:)
Ha nem textareában futtatjuk, akkor meg külön szolgáltatásként plaintextbe konvertálja a html tageket, hátha valakinek az kell (így lesz a bugból feature! :P)

tekintve, hogy elsősorban saját használatra írtam a cuccot, antiszociális módon ennél jobban nem dolgozom ki a koncepciót, mivel ez nekem így jó. Akinek nem tetszik (meg annak is, aki használná így…), annak itt a kód:


CmdUtils.CreateCommand({
  name: "richtypo",
  author: { name: "Balint Erdosi" },
  license: "GPL",
  description: "Tipo- és ortográfiai korrekciókat végez a textareában kiválasztott szövegen",
  takes: {"input": noun_arb_text},
  execute: function richTypo(input) {
    var str = input.html
        .replace(/\.\.\./g,'…')
        .replace(/--/g,'–')
        .replace(/>/g, '>')
        .replace(/</g, '&lt;');
    var currentQM = '”';
    while(str.indexOf('"') !== -1) {
      str = str.replace('"',currentQM = (currentQM == '”') ? '„' : '”');
    }
    CmdUtils.setSelection(str);
  }
});

enjoy.

Hozzászólások

Ez csudálatos ötlet, lehet hogy php oldalról is meg kéne csinálni.

Vki gyarthatna olyan userscriptet, hogy a <,> tageket &lt;,&gt; descriptorokka konvertalja code bbcode tageken belul.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

hmmm...
nemtom, ha textareában akarjuk csinálni, akkor ahhoz szerintem inkább
.replace(/</g.'&amp;lt;')
.replace(/>/g.'&amp;gt;')
kéne... ez a két ehhez hasonló sor azért került bele a cumóba, mert amikor visszatölti setselectionnal, akkor a < és > közti részt html tagként értelmezi és feszt nem rakja be, ergó az amolyan naiv workaround a problémára, ami textareában segíti a működést, más kontextusban viszont kellemetlen... Ha a focused tulajdonságot még ellenőrzöm, ezt kiküszöbölheti, de a script írásakor egy lusta dög voltam, ami azóta nem sokat változott:P

—-—-—
int getRandomNumber() {
	return 4;//szabályos kockadobással választva.
}		//garantáltan véletlenszerű. xkcd