პოსტები ტეგით “GeoKBD”

GeoKBD & WordPress

რამდენიმე ადამიანის თხოვნით ჩავატარე გარკვეული ტესტირებები GeoKBD – ს WordPress – თან ინტეგრაციაზე… მიუხედავად იმისა რომ WP იყენებს TinyMCE – ს ტექსტების ვიზუალური რედაქტირებისათვის აღმოჩნდა რომ GeoKBD – ს ინტეგრირება მაინც ვერ მოხერხდა.

მიზეზი მარტივი აღმოჩნდა ძალიან, WordPress – ის დეველოპერებს გადაუტვირთიათ გლობალური TinyMCE კლასის მეთოდები რის გამოც პლაგინის ჩატვირთვა ისე აღარ ხდება როგორც ეს ჩვეულებრივ TinyMCE – ს დოკუმენტაციაშია მითითებული.

ამისათვის გავაკეთე პლაგინის განახლება, რომელიც განთავსებულია გუგლის რეპოზიტორიში და შეგიძლიათ გადმოიწეროთ.

რაც შეეხება ინსტალაციას. ეს პროცესი ტრადიციულად მარტივია, გახსენით geokbd-0-2.zip და მის შიგნით არსებული ფაილები გადაიტანეტ ქვემოთ ნაჩვენებ კატალოგში:

/[ROOT]/wp-includes/js/tinymce/plugins/geokbd

ცხადია geokbd კატალოგი წინასწარ უნდა შექმნათ.

შემდეგ გახსენით ფაილი:

/[ROOT]/wp-includes/js/tinymce/tiny_mce_config.php

და მასში მოძებნეთ შემდეგი სტრიქონი:

$plugins = array('inlinepopups', 'autosave', 'spellchecker', 'paste', 'wordpress');

ეს სტრიქონი დაახლოვებით 28-ე ხაზზეა. შემდეგ გადააკეთეთ იგი შემდეგნაირად:

$plugins = array('inlinepopups', 'autosave', 'spellchecker', 'paste', 'wordpress', 'geokbd');

ანუ პლაგინების ჩამონათვალის მასივში საჭიროა geokbd პლაგინის სახელის მითითება.

სულ ეს არის და ეს :)

ტეგები:

GeoKBD 0.3.1 – მორიგი გაუმჯობესებები

პირველ რიგში დიდი მადლობა სკრიპტის მომხმარებლებს აღმოჩენილი პრობლემებისა და გაუმჯობესებების შემოთავაზებისათვის!

ეს მცირე განახლება მოიცავს შემდეგ გაუმჯობესებებს:

დაიხვეწა GeoKBD.map() მეთოდის გამოყენების მექანიზმი და აგრეთვე გაფართოვდა მისი შესაძლებლობი.

  • ამ მეთოდის გამოყენება შეიძლება უპარამეტროდ, კერძოდ კი თუ მას არ გადავცემთ არცერთ პარამეტრს, კლავიატურის მიბმა მოხდება დოკუმენტში არსებული ყველა ფორმის ყველა ტექსტურ ველზე. ამის მისაღწევად საკმარისია შემდეგი კონსტრუქცია:
        GeoKBD.map();
    
  • მეთოდს პირველ პარამეტრად შეგვიძლია გადავცეთ არა უბრალოდ ფორმის სახელი სტრიქონის მეშვეობით, არამედ ფორმის დასახელებების მასივი:
        GeoKBD.map(['my_form_1', 'my_form_2']);
    

    ეს შესაძლებლობა თავიდან აგვარიდებს დამატებითი კოდის წერის აუცილებლობას, რადგან ზემოთ ნაჩვენები შედეგის მისაღწევად აქამდე საჭირო იყო მსგავსი კონსტრუქციის გამოყენება:

        GeoKBD.map('my_form_1');
        GeoKBD.map('my_form_2');
    
  • დაიფიქსა შეცდომა როდესაც პარამეტრად გადაცემული ფორმის არ არსებობის შემთხვევაში სკრიპტი აგდებდა შეცდომებს;
  • დაიფიქსა WYSIWYG რედაქტორებზე მიბმის დროს აღმოჩენილი შეცდომა Alt და Ctrl კლავიშებთან დაკავშირებით. ამჯერად ეს კლავიშები მუშაობს;

ამ შეცდომების აღმოჩენისათვის განასკუთრებულ მადლობას ვუხდი Rocko – ს და ლევანჩოს :)

ტეგები:

GeoKBD – TinyMCE Dedicated Plugin 0.1

tinymce.gif მაშ ასე, ვაგრძელებ GeoKBD – სთან თამაშს :) ამჯერად შევქმენი ცნობილი WYSIWYG რედაქტორის TinyMCE – ს პლაგინი. მართალია GeoKBD – ს მასზე მიბმა არ წარმოადგენს არც პლაგინის გარეშე პრობლემას, მაგრამ როგორც ჩანს პლაგინის არსებობა გარკვეულწილად უფრო კომფორტულს ხდის ამ სკრიპტის მოხმარებადობას.

პლაგინის დაარქივებული ვერსიის გადმოწერა შესაძლებელია SVN რეპოზიტორიდან.

რაც შეეხება ინსტალაციას… სრულად »

ტეგები: ,

GeoKBD 0.3 – Rich Editor Support Completed!

ამჯერად WYSIWYG რედაქტორების მხარდაჭერა რეალიზებულია IE6/7 – ისათვის, შედარებით მახინჯი გამოსავალის მოძებნა გახდა ამისათვის საჭირო, თუმცა ეს არ არის ამ ეტაპზე მთავარი. ამიერიდან GeoKBD – ს ინტეგრაცია თავისუფლად შესაძლებელია WYSIWYG ტიპის რედაქტორებთან. მაგალითები შეგიძლიათ იხილოთ ამ გვერდზე.

ასევე ამ რელიზში შესულია კიდევ ერთი გაუმჯობესება, ქართული კლავიატურის ჩართვა გამორთვისათვის უბრალოდ საკმარისია “~” ღილაკის გამოყენება, ე.წ. checkbox ელემენტი საჭირო აღარ არის, თუმცა მისი გამოყენება კვლავ შეიძლება და სკრიპტს მუშაობაში ხელს არ უშლის.

განახლებული ვერსიის გადმოწერა შეგიძლია SVN – იდან

ტეგები: ,

GeoKBD 0.2.2 – Rich Editor Support Improvements

მორიგი განახლება მოიცავს შემდეგ გაუმჯობესებებს:

  • იმისათვის რათა მოხდეს ედიტორზე ქართული კლავიატურის მიბმა, აღარ არის საჭირო window ობიექტის onload ხდომილების გამოყენება.

    ნაცვლად ასეთი კონსტრუქციისა:

    window.onload = function() {
        GeoKBD.mapIFrame('elm1_ifr');
    }
    

    უკვე საკმარისია მსგავსი კონსტრუქცია:

    GeoKBD.mapIFrame('elm1_ifr');
    
  • გარკვეულ შემთხვევბში მხოლოდ ედიტორის iframe ელემენტის იდენტიფიკატორის მითითება არ არის საკმარისი. ამიტომ mapIFrame() მეთოდს პირველ პარამეტრად შეგვიძლია გადავცეთ არა უბრალოდ იდენტიფიკატორი, არამედ ე.წ. callback ფუნქცია. მაგალითად FckEditor – ის ქართულ კლავიატურაზე მისაბმელად საჭიროა შემდეგი კონსტრუქცია:
    GeoKBD.mapIFrame(function() {
       var _el = null;
       if (_el = document.getElementById('FCKeditor1___Frame')) {
           return _el.contentDocument.getElementsByTagName('iframe')[0];
       }
    });
    

    ეს საჭიროა გამომდინარე იქედან რომ FckEditor – ი iframe – ს შიგნით კიდევ ერთ iframe ელემენტს იყენებს.. თუმცა ნებისმიერ სპეციალურ შემთხვევაში callback ფუნქცია ძალიან სასარგებლოდ შეიძლება იქნას გამოყენებული…

  • დაიფიქსა ჩვეულებრივი ფორმის ელემენტების მიბმის პატარა პრობლემა რომელიც ელემენტის type ატრიბუტის არარსებობის შემთხვევაში გვხდებოდა
  • wysiwyg ედიტორთან მუშაობის დროს შესაძლებელია ქართულის ჩართვა/გამორთვა “~” კლავიშის მეშვეობით

სკრიპტის განახლებული ვერსია შესაძლებელია გადაიწეროთ SVN რეპოზიტორიდან.

ტეგები:

GeoKBD 0.2.1 – Rich Editor Support

GeoKBD – ს მორიგი განახლება მოიცავს ე.წ. Rich Editor(wysiwyg) – ინტეგრაციას, ამჯერად მისი მეშვეობით შესაძლებელია ნებისმიერ ასეთ ედიტორში ქართულად წერა.

მართალია ჯერ ნედლი და დაუხვეწავი გადაწყვეტაა მაგრამ მთავარია მუშაობს. განახლების გადაწერა ცხადია შესაძლებელია SVN რეპოზიტორიდან.

ამჯერად სკრიპტი გატესტილია შემდეგ ბრაუზერებში:

  • Safari Mac OS X
  • Opera
  • Mozilla FireFox

სკრიპტს დაემატა ერთი ახალი მეთოდი mapIFrame რომლის მეშვეობითაც შეძლებთ ედიტორში ქართულად წერის შესაძლებლობის რეალიზაციას.
მისი მიბმა ედიტორზე შეგიძლიათ განახორციელოდ შემდეგი ჯავასკრიპტ კონსტრუქციით:

window.onload = function() {
	GeoKBD.mapIFrame('myEditorId');
        //სადაც 'myEditorId თქვენი კომპონენტის იდენტიფიკატორია!
}

არსებული მუშა მაგალითი შესაძლებელია იხილოთ ამ მისამართზე.

P.S.
ექსპერიმენტის სახით მოვსინჯე და GeoKBD ავამუშავე TinyMCE – სთან.

ტეგები: ,

GeoKBD: პირველი განახლება

პირველ რიგში დიდი მადლობა მინდა გადავუხადო გიორგი კობერიძეს აღმოჩენილი შეცდომისათვის სკრიპტში.

რადგან სრულფასოვნად ვერ გავტესტე სკრიპტი, ბუნებრივია რომ არ იყო გამორიცხული მას ჰქონოდა შეცდომები… ეს ასეც აღმოჩნდა :P და ეხლა უშეცდომოდ(იმედი მაქვს) მუშაობს ყველაფერი.

გარდა შეცდომის შესწორებისა რომელიც მდგომარებოდა ერთი და იგივე ფორმის ელემენტების ქართულ კლავიატურასთან მიბმაში, სკრიპტში ასევე შევიტანე სხვა მცირე ცვლილებები რომლებიც მის მოხმარებას უფრო გააიოლებს. ასევე დაფიქსულია Mac OS X Safari – ში აღმოჩენილი ბაგი, რომელიც ტექსტურ ველში პირველი სიმბოლოს აკრეფის დროს იყო.


მცირეოდენი საჭირო განმარტებები

ერთი ფორმის, მრავალი ველის კლავიატურასთან მიბმის საჭიროების შემთხვევაში ნაცვლად შემდეგი კონსტრუქციისა:

GeoKBD.map('my-form', 'my-field-one');
GeoKBD.map('my-form', 'my-field-two');

დინამიური მასივის საშუალებით უკვე შესაძლებელია ასეთი კონსტრუქციის გამოყენება:

GeoKBD.map('my-form', ['my-field-one', 'my-field-two']);

იმ შემთხვევაში თუ საჭირო ფორმის ყველა ელემენტის კლავიატურაზე მიბმა საკმარისია შემდეგი კონსტრუქცია:

GeoKBD.map('my-form');


სკრიპტის გადაწერა შეგიძლიათ პირდაპირ SVN რეპოზიტორიდან

ტეგები: ,

ქართული კლავიატურის სკრიპტი

ესე იგი მინდოდა თუ არ მინდოდა ირაკლი ნადარეიშვილმა მიბიძგა და ქართული კლავიატურის სკრიპტი დავწერე…

სკრიპტი ძალიან მარტივია, და მისი მიბმა შეგიძლიათ ნებისმიერ ტექსტურ ველზე, ასევე მას აქვს ქართული კლავიატურის ჩართვისა და გამორთვის მხარდაჭერა. სიმბოლოების ტრანსლირებისათვის გამოვიყენე ირაკლის მიერ წლების წინ შემუშავებული ალგორითმი (ორიგინალი შეგიძლიათ იხილოთ აქ)

სკრიპტის მუშა მაგალითი შეგიძლიათ იხილოთ ამ მისამართზე
სკრიპტის უახლესი ვერსიის გადმოწერა შეგიძლიათ ამ მისამართიდან

რა უპირატესობები აქვს ამ სკრიპტს? იგი არის პატარა, კოდი არის ძალიან მარტივი და გასაგები, არ აბინძურებს ვებ აპლიკაციის სკოუპს რადგან იგი მთლიანად არის ენკაპსულირებული თავისსავე სკოუპში რაც არის იმის გარანტია რომ მისი გამოყენება შეგიძლია მარტივად და უსაფრთხოდ თუნდაც სხვა ანალოგიური დანიშნულების სკრიპტებთან ერთად.

ასევე საგულისხმოა ის რომ String ობიექტს ემატება ორი მეთოდი ესენია:

  1. translateToKA() – მეთოდი რომელსაც შეუძლია ნებისმიერი სტრიქონის პირდაპირ გადაყვანა ქართულ უნიკოდში. რაც ნიშნავს იმას რომ ამ მეთოდის გამოყენება თამამად შეგიძლიათ თქვენს სკრიპტებში.

    მეთოდის გამოყენება შეგიძლიათ შემდეგნაირად:

    var str = "es aris nebismieri teqsti";
    alert(str.translateToKA());
    
    //ან პირდაპირ ასე
    alert("es aris text literali".translateToKA());
    
  2. pasteTo([html form element]) – რომელსაც პარამეტრად გადაეცემა ფორმის ელემენტი. ეს მეთოდი ტექსტის კოპირებას ახდენს ან პირდაპირ თუ ელემენტის მნიშვნელობა ცარიელია, ან იმ ადგილას სადაც ზის კურსორი, ან ჩაანაცვლებს მონიშნულ ტექსტს ახალი ტექსტით.

    მეთოდის გამოყენება შეგიძლიათ შემდეგნაირად:

    var str = "es aris nebismieri teqsti";
    str.translateToKA().pasteTo(document.forms['my-form-name']['my-field-name']);
    

კოდი ვრცელდება MIT ლიცენზიით

        /*
	 * GeoKBD 0.1 - Georgian keyboard and text convertation library
	 *
	 * Copyright (c) 2007 Ioseb Dzmanashvili (http://www.code.ge)
	 * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
	 */

სრულად »

ტეგები: , ,