جے کویری (jQuery) کے لیے اردو ایڈیٹر پلگ ان!

نبیل

تکنیکی معاون
السلام علیکم،
ورڈپریس 2.7 کے اجرا کے بعد جب ہم نے اردو پریس 2.7 کی تیاری کا ارادہ کیا تو میں نے ذکر کیا تھا کہ سب سے پہلے میں جے کویری (jQuery) جاوا سکرپٹ فریم ورک کے لیے اردو ایڈیٹر پلگ ان تیار کروں گا اور اسی کو اردو پریس کے اگلے ورژن کے لیے استعمال کیا جائے گا۔ میں نے جے کویری کے لیے اردو ایڈیٹر پلگ ان کے ابتدائی ورژن پر کام مکمل کر لیا ہے اور اسے یہاں پیش کر رہا ہوں۔ ورڈپریس کے لیے اردو ایڈیٹر پلگ ان کا اگلا ورژن بھی جے کویری کے اسی پلگ ان پر مبنی ہوگا اور اسے بھی جلد ریلیز کر دیا جائے گا۔

جے کویری ایک مقبول ترین اور پاورفل فیچرز والا جاوا سکرپٹ فریم ورک ہے۔ جے کویری کے لیے اردو ایڈیٹر پلگ ان کی ڈیویلپمنٹ کو میں ایک اہم پیشرفت سمجھتا ہوں کیونکہ اس طرح اردو ایڈیٹر کو ایک اچھے جاوا سکرپٹ فریم ورک کی سپورٹ میسر آ گئی ہے۔ اس کے ذریعے اردو ایڈیٹر کو ویب ایپلیکیشنز میں بہت مؤثر انداز میں استعمال کرنا ممکن ہو جائے گا۔

جے کویری کی ایک خاصیت یہ ہے کہ اس کے ذریعے ویب صفحات میں non-intrusive یعنی غیر محسوس انداز تبدیلی کی جا سکتی ہے۔ اس سے مراد یہ ہے کہ ویب پیج میں تمام تر جاوا سکرپٹ کوڈ کو صرف head ٹیگ میں شامل کرنے کی ضرورت پیش آتی ہے اور اس کے لیے ویب پیج کی ایچ ٹی ایم ایل میں جابجا تبدیلیاں نہیں کرنی پڑتی ہیں۔ اگرچہ ڈاؤنلوڈ میں شامل مثالوں میں لینگویج موڈ سوئچ کرنے کےلیے کنٹرولز اور آن سکرین کی بورڈ کے استعمال کرتے وقت ایچ ٹی ایم ایل میں تبدیلیاں کی گئی ہیں لیکن اسے اگلی اپڈیٹ میں ٹھیک کر دیا جائے گا۔ جے کویری فریم ورک کی سپورٹ کی بدولت ایڈٹ ایریاز کو مختلف انداز میں سلیکٹرز کے ذریعے منتخب کیا جا سکتا ہے جیسا کہ یہاں بیان کیا گیا ہے۔

جے کویری کے اردو ایڈیٹر پلگ کے استعمال کا طریقہ تفصیل سے اس کی ڈاؤنلوڈ میں docs/using_jquery_urdueditor_plugin.html میں موجود ہے۔ اسے یہاں بھی دیکھا جا سکتا ہے۔ میں اسی انفارمیشن کو علیحدہ سے اردو میں بھی پیش کرنے کا ارادہ رکھتا ہوں۔ اس یوزرز گائیڈ میں کوڈ کی سنٹیکس ہائی لائٹنگ کے لیے میں نے گوگل سنٹیکس ہائی لائٹر استعمال کیا ہے۔

جے کویری کے اردو ایڈیٹر پلگ ان کو انٹرنیٹ ایکسپلورر اور فائرفاکس پر ٹیسٹ کیا گیا ہے۔ اس میں بھی لینگویج موڈ سوئچ کرنے کے لیے CTRl+SPACE کی بورڈ شارٹ کٹ کام کرتا ہے۔ اس پلگ ان کی خاص بات یہ ہے کہ اس میں استعمال کیے جانے فونٹ اور اس کے بیک گراؤنڈ کلر کو کسٹمائز کیا جا سکتا ہے۔ اس کا طریقہ بھی اس کی ڈاکومنٹیشن میں بیان کیا گیا ہے۔ ذیل کی تصویر میں ایسی ہی ایک کسٹمائزیشن کی مثال دکھائی گئی ہے جس میں اردو لینگویج موڈ کا بیک گراؤنڈ اس کے ڈیفالٹ سبز رنگ سے مختلف ہے اور اس میں اردو نسخ ایشیا ٹائپ فونٹ کی جگہ علوی نستعلیق فونٹ استعمال ہو رہا ہے۔

customization.gif

اردو ایڈیٹر پلگ ان کو کسٹمائز کرنے کا طریقہ یہاں دیکھا جا سکتا ہے جبکہ اس کی مثال اس ربط پر موجود ہے۔

میں نے جے کویری کے اردو ایڈیٹر پلگ ان کے ساتھ ایک ورچوئل کی بورڈ سکرپٹ بھی شامل کر دی ہے۔ یہ سکرپٹ یہاں سے حاصل کی گئی ہے اور اسے اردو کے لیے کسٹمائز کیا گیا ہے۔ ورچوئل کی بورڈ فائرفاکس میں درست کام کرتا ہے جبکہ انٹرنیٹ ایکسپلورر میں یہ کبھی کبھار پرابلم دیتا ہے۔ ذیل کے تصویر میں ورچوئل کی بورڈ کا استعمال دکھایا گیا ہے:

example4.gif

ورچوئل کی بورڈ کے استعمال کا طریقہ یہاں دیکھا جا سکتا ہے جبکہ اس کی مثال اس ربط پر ملاحظہ کی جا سکتی ہے۔


جے کویری کا ایک اور مفید پلگ ان ٹیکسٹ ایریاز کو ری سائز کرنے کا بھی ہے۔ ٹیکسٹ ایریا ری سائزنگ کا پلگ ان بھی اردو ایڈیٹر پلگ ان کے ساتھ استعمال کیا جا سکتا ہے جیسا کہ ذیل کی تصویر میں دکھایا گیا ہے:


resizing.gif

ٹیکسٹ ایریا ری سائزنگ کے استعمال کے بارے میں تفصیل اس ربط پر موجود ہے اور اس کی مثال اس ربط پر ملاحظہ کی جا سکتی ہے۔

میں امید کرتا ہوں کہ جے کویری کا اردو ایڈیٹر پلگ ان اردو میں ویب اپپلیکیشنز کی ڈیویلپمنٹ میں اہم پیشرفت ثابت ہوگا۔ میں اس سلسلے میں آپ کی آراء اور تجاویز کا منتظر رہوں گا۔

جے کویری کا اردو ایڈیٹر پلگ ان ڈاؤنلوڈ کریں
والسلام
 

نبیل

تکنیکی معاون
بالآخر میں یہاں جرمنی میں نیا سال شروع ہونے سے کچھ منٹ پہلے یہ مضمون پوسٹ کرنے میں کامیاب ہو گیا ہوں۔ اسے میری جانب سے نئے سال کا تحفہ سمجھیں۔ :)
 

arifkarim

معطل
بالآخر میں یہاں جرمنی میں نیا سال شروع ہونے سے کچھ منٹ پہلے یہ مضمون پوسٹ کرنے میں کامیاب ہو گیا ہوں۔ اسے میری جانب سے نئے سال کا تحفہ سمجھیں۔ :)

شکریہ نبیل، کیا آپ گھر سے باہر نہیں گئے۔ یہاں تو شرلی پٹاخے نے کان خراب کر دیے ہیں:)
 
جزاک اللہ نبیل بھائی۔

ابھی ٹیسٹ کرتا ہوں کہ لینکس میں آرہے مسائل کا سد باب ہوا یا نہیں۔

اور اس کے بعد پروٹوٹائپ اور ای ایکس ٹی جے ایس کے فریم ورکس پر بھی ایک ایک ایک عدد اردو اڈیٹر تیار کرواتا ہوں آپ سے۔ :grin:
 
ذیل میں جے کوئری اردو ایڈٰٹر کے کچھ کی میپنگ مسائل بیان کر رہا ہوں۔ یہ ٹیسٹ ریزلٹ‌ لینکس فیڈورا 9 فائر فاکس 3 کے ہیں۔ فانٹ علوی نستعلیق۔


بغیر شفٹ کی دبائے:

بیک سلیش \ : نل کیریکٹر کا باکس
ٹیب : نل کیریکٹر کا باکس
کیپس لاک : نل کیریکٹر کا باکس
بیک ٹک ‌` : نل کیریکٹر کا باکس


شفٹ کی کے ساتھ:

Q : ب
Y : نل کیریکٹر کا باکس
{ : نل کیریکٹر کا باکس
} : نل کیریکٹر کا باکس
| : نل کیریکٹر کا باکس
@ : نل کیریکٹر کا باکس
# : نل کیریکٹر کا باکس
$ : نل کیریکٹر کا باکس
_ : نل کیریکٹر کا باکس
کیپس لاک : نل کیریکٹر کا باکس
ٹیب : نل کیریکٹر کا باکس
ٹلڈے ~ : نل کیریکٹر کا باکس


نوٹ: مذکورہ مسائل صرف تبھی ہوتے ہیں جب ایڈیٹڑ کو اردو موڈ‌ میں استعمال کیا جائے۔

پہلے سے بہتری:

شفٹ کیریکٹر کے بعد کا کیریکٹر شفٹ کی سے متائثر نہیں ہوتا۔ جیسا کہ موجودہ اردو ایڈٰیٹر کے حوالے سے کئی بار کہہ چکا ہوں۔
کلوزنگ راؤنڈ بریکٹ ٹحیک سے لگ جاتا ہے پہلے دو دونوں‌ کیز سے اوپننگ بریکٹ ہی لگتا تھا اور میں یہ :) اسمائلی نہیں لگا پاتا تھا۔
رفتار ٹھیک ہوئی ہے۔
کھڑی زیر کی میپنگ نہ پہلے تھی نہ اب ہے۔
 

نبیل

تکنیکی معاون
اس مفید فیڈ بیک کا شکریہ ابن سعید۔ ابھی میرے پاس لینکس تو موجود نہیں ہے، فی الحال میں ونڈوز پر ہی فائرفاکس پر اسے ٹیسٹ کروں گا۔ دراصل میں نے اس پلگ ان میں اردو ویب پیڈ والی لاجک implement کی ہے ناکہ اوپن پیڈ والی۔ اس لیے اس میں پریزنٹیشن کیریکٹر اور کنٹرول کیریکٹر شامل نہیں ہیں۔ علاوہ ازیں اس میں زونج بھی نہیں ہے۔ میں نے نوٹ کیا تھا کہ ان کا استعمال نہ ہونے کے برابر کیا جاتا تھا اور اس کی وجہ سے غیر ضروری code bloat پیدا ہوتا تھا۔
ویسے آپ کی اطلاع کے لیے عرض ہے کہ میں پروٹوٹائپ فریم ورک کے لیے اردو ایڈیٹر پلگ ان پہلے ہی تیار کر چکا ہوں۔ :)
پروٹوٹائپ کے لیے اردو ایڈیٹر پلگ ان میں نے مائی بی بی کا اردو پیکج تیار کرتے ہوئے لکھا تھا۔ اسے آپ اردو مائی بی بی میں حاصل کر سکتے ہیں۔ :)
مُوٹولز کے لیے اردو ایڈیٹر پلگ ان بھی پائپ لائن میں ہے۔ اس کی ضرورت جملہ کے ایڈمن سیکشن میں استعمال کے لیے پڑے گی۔
 
واللہ مزہ آ گیا پروٹو ٹائپ کا سن کر کیوں کہ روبی آن ریلز ایپلیکیشنز میں اس کا استعمال بکثرت ہوتا ہے اور جب بھی کوئی ایپلیکیشن تیار کیا جاتا ہے تو ابتدا میں ہی از خود پروٹوٹائپ اور اسکرپٹاکیولس کی جاوا اسکرپٹ فائلیں شامل ہو جاتی ہیں۔ گو کہ ڈیویلوپر کو مکمل اختیار ہوتا ہے انہیں استعمال کرنے یا نہ کرنے کا۔ کھڑی زیر کی جگہ سچ پوچھئے تو shift + i ہونا چاہئے پر کھڑے زبر کا معاملہ سوچنا پڑے گا۔ دیکھتے ہیں کہ احباب کی کیا رائے ہے۔ مجھے کچھ بہتر سوجھا تو بتاؤں گا انشاء اللہ۔
 

نبیل

تکنیکی معاون
ابن سعید، اردو ایڈیٹر میں کھڑا زبر روز اول سے کیپیتل لیٹر I پر میپڈ ہے۔ اوپن پیڈ میں کھڑی زیر ALT+i پر میپڈ ہے۔ اس کے لیے کچھ سوچنا پڑے گا۔
 

نبیل

تکنیکی معاون
میں نے فائرفاکس کے بگ ٹھیک کر کے اردو ایڈیٹر پلگ ان کو اپڈیٹ کر دیا ہے۔ اسے دوبارہ ڈاؤنلوڈ کر لیں۔ کچھ نئے اردو حروف بشمول تطویل بھی میپ کیے گئے ہیں۔ میں نے کھڑی زیر کو کیپیٹل لیٹر Y پر میپ کیا ہے اور اس کے لیے کوڈ 0x0656 استعمال کیا ہے لیکن یہ درست کام کرتا نظر نہیں آ رہا۔ کیا کسی کو کھڑی زیر کا درست کوڈ معلوم ہے؟
 
کھڑی زیر علوی نستعلیق میں تو درست دکھ رہی ہے۔

ٹیب کا ڈیفالٹ فنکشن یعنی ٹیبنگ اردو میں بھی ہونی چاہئے میرا مطلب ہے کہ فوکس تبدیل کرنے کے لئے۔ جبکہ فی الحال اس ایوینٹ کو کیچ کر کے ڈو نتھنگ کر دیا گیا ہے۔

ویسے میں مشورہ دوں گا کہ اس میں اوپن پیڈ والی تمام کی میپنگس شامل کر دی جاتیں تو محفل میں بھی اسے استعمال کیا جا سکتا تھا۔ امید ہے کہ جے کوئیری وی بی کے کسی جاواسکرپٹ کے ساتھ کنفلکٹ نہیں ہوگا۔ اور ہوا بھی تو اس سے نمٹنے کے طریقے ہیں یعنی نیم اسپیس استعمال کرکے۔ ویسے ان چیزوں کو ثانوی حیثیت دی جانی چاہئے۔ کیوں کہ اب یہ بلاگ کی ضرورتوں کو تقریباً پورا کرتا ہے۔
 

arifkarim

معطل
ابن سعید، اردو ایڈیٹر میں کھڑا زبر روز اول سے کیپیتل لیٹر I پر میپڈ ہے۔ اوپن پیڈ میں کھڑی زیر ALT+i پر میپڈ ہے۔ اس کے لیے کچھ سوچنا پڑے گا۔

کھڑی زیر انپیج کے فونیٹک ٍکی بورڈ میں shift+f پر میپڈ ہے۔ پتا نہیں اردو ویب پیڈ میں ایسا کیوں نہیں ہے؟
 

نبیل

تکنیکی معاون
کھڑی زیر علوی نستعلیق میں تو درست دکھ رہی ہے۔

ٹیب کا ڈیفالٹ فنکشن یعنی ٹیبنگ اردو میں بھی ہونی چاہئے میرا مطلب ہے کہ فوکس تبدیل کرنے کے لئے۔ جبکہ فی الحال اس ایوینٹ کو کیچ کر کے ڈو نتھنگ کر دیا گیا ہے۔

ویسے میں مشورہ دوں گا کہ اس میں اوپن پیڈ والی تمام کی میپنگس شامل کر دی جاتیں تو محفل میں بھی اسے استعمال کیا جا سکتا تھا۔ امید ہے کہ جے کوئیری وی بی کے کسی جاواسکرپٹ کے ساتھ کنفلکٹ نہیں ہوگا۔ اور ہوا بھی تو اس سے نمٹنے کے طریقے ہیں یعنی نیم اسپیس استعمال کرکے۔ ویسے ان چیزوں کو ثانوی حیثیت دی جانی چاہئے۔ کیوں کہ اب یہ بلاگ کی ضرورتوں کو تقریباً پورا کرتا ہے۔

ابن سعید، میں ٹیب والا مسئلہ بھی جلدی حل کرنے کی کوشش کروں گا۔
جہاں تک کی میپنگز کا تعلق ہے تو میں اوپن پیڈ والی کی میپنگز ممکنہ حد تک شامل کرنے کی کوشش کر رہا ہوں۔ دراصل ویب پیڈ کی کی میپنگ لاجک میں صرف نارمل اور شفٹ سٹیٹ کو ہینڈل کیا گیا ہے۔ تیسری سٹیٹ یعنی آلٹ کی کمبینیشن اس میں شامل نہیں ہیں۔ میری دانست میں آلٹ کی کمبینیشن شامل کرنے سے کوڈ غیرضروری طور پر پیچیدہ ہو جاتا ہے اور ان کیز کو بہت کم استعمال کیا جاتا ہے۔ اگر آپ کے خیال میں کوئی کی شامل کی جانی چاہیے تو یہاں بتا دیں۔ میں اس کے لیے کی میپ میں کوئی نہ کوئی جگہ ڈھونڈنے کی کوشش کروں گا۔
 

نبیل

تکنیکی معاون
ویسے میں مشورہ دوں گا کہ اس میں اوپن پیڈ والی تمام کی میپنگس شامل کر دی جاتیں تو محفل میں بھی اسے استعمال کیا جا سکتا تھا۔

میرا ارادہ یہی ہے کہ محفل فورم کی اگلی میجر اپگریڈ کے بعد فورم میں جے کویری کے اردو ایڈیٹر پلگ ان کو ہی استعمال کیا جائے۔ :)
 

arifkarim

معطل
ابن سعید، میں ٹیب والا مسئلہ بھی جلدی حل کرنے کی کوشش کروں گا۔
جہاں تک کی میپنگز کا تعلق ہے تو میں اوپن پیڈ والی کی میپنگز ممکنہ حد تک شامل کرنے کی کوشش کر رہا ہوں۔ دراصل ویب پیڈ کی کی میپنگ لاجک میں صرف نارمل اور شفٹ سٹیٹ کو ہینڈل کیا گیا ہے۔ تیسری سٹیٹ یعنی آلٹ کی کمبینیشن اس میں شامل نہیں ہیں۔ میری دانست میں آلٹ کی کمبینیشن شامل کرنے سے کوڈ غیرضروری طور پر پیچیدہ ہو جاتا ہے اور ان کیز کو بہت کم استعمال کیا جاتا ہے۔ اگر آپ کے خیال میں کوئی کی شامل کی جانی چاہیے تو یہاں بتا دیں۔ میں اس کے لیے کی میپ میں کوئی نہ کوئی جگہ ڈھونڈنے کی کوشش کروں گا۔

آپ کو یاد ہوگا کہ نوری نستعلیق ترسیمہ جات کی میپنگ کے وقت بھی ہمیں ’’ۂ‘‘ نے بہت ستایا تھا، کیونکہ یہ altgr+o پر ڈیفائنڈ ہے۔ بہتر ہوگا کہ وہ تمام کیز جو ابھی تک altgr کیساتھ منسلک ہیں۔ انکو فارم اپگریڈ کے وقت shift کیز پر ٹرانسفر کر دیا جائے۔
 
بارک اللہ

نبیل بھائی اپر کیس Q پر ب کی میپنگ ہوئی ہے جو کہ غیر ضروری لگ رہی ہے۔ اور اوپن پیڈ کی کی میپنگ سے میری مراد صرف انھیں‌ تمام کیز سے تھی جو کہ نارمل یا شقٹ کے ساتھ ہیں۔ اردو کے لئے آلٹ کے کمبینیشن ڈالنا غیر ضروری ہی ہوگا۔ بس یہ ہے کہ فی الحال نمیرک کیز کے شقفٹ پلیس پر جو سمبل ہیں ان میں سے بیشتر شامل نہیں ہیں انہیں شامل کر دیجئے۔ کیوں کہ $ # @ وغیرہ کو پروگرامنگ سے متعلق کچھ لکھتے ہوئے کثرت سے استعمال کرنا پڑتا ہے۔ ایک جنرل رول یہ بنا لیتے ہیں کہ

- اگر کوئی سمینٹک میپنگ اردو کے لئے ہوتی ہے تو اسے استعمال کریں گے
- اگر شفٹ‌ کی جگہ خالی رہتی ہے مثلاً اپر کیس B یا اپر کیس Q تو وہاں نارمل کیریکٹر کا ڈپلیکیٹ رکھ دیں گے
- اگر کی خالی ہو رہی ہے اور کچھ بھی موزوں نہیں ہے رکھنے کے لئے تو انگریزی کے ڈیفالٹ کی کو میپ کر دیں گے، مثلاً ٹلڈے بیک ٹک وغیرہ

یعنی کسی بھی کی کمبینیشن پر نہ تو اجنبی باکس آئے اور نہ ہے ڈو نتھنگ کی کیفیت ہو ورنہ عجیب سا لگتا ہے۔

واوین “” جو کہ اوپن پیڈ میں اسکوائر بریکٹ پر میپ ہیں ان کو بھی جگہ ملنی چاہئے۔
 

نبیل

تکنیکی معاون
ابن سعید، اس ربط پر چیک کر لیں۔ میں نے آپ کی تجاویز پر عمل کرنے کی کوشش کی ہے۔ ڈبل کوٹس “” چوکور بریکٹس پر میپڈ ہیں جبکہ سنگل کوٹس ‘’ کرلی بریکٹس {} پر میپڈ ہیں۔ فتحاً کیپٹیل لیٹر M، کسراً کیپٹیل لیٹر F اور تنوین کیپیٹل لیٹر L پر میپڈ ہیں۔
ایک مرتبہ اس ایڈیٹر کی functionality درست ہو جائے تو میں اس کی ڈاؤنلوڈ کو بھی اپڈیٹ کر دوں گا۔
 
جزاک اللہ نبیل بھائی۔

اب کافی بہتر ہے۔ ویسے ایک مشورہ اور ہے کہ ورچؤل کی بورڈ کی میپنگ ٹھیک اسی میپنگ کے مطابق ہو جائے تو لگے ہاتھوں اس کا ٹیوٹوریل بھی تیار ہو جائے گا۔ یعنی جسے کوئی میپنگ دیکھنی ہوئی وہ ورچؤل کی بورڈ کھول کر دیکھ سکے گا کہ کس کی پر کیا میپ ہے۔

کبھی فرصت سے ایک کام اور کیجئے گا کہ لینگوئج سوئچنگ کے لئے ریڈیو بٹن والے writeToggleControl میتھڈ کے علاوہ ایک میتھڈ‌ addClass("keyboardInput") جیسا لکھ دیجیئے گا جس کے استعمال سے کی بورڈ جیسا یک عدد آئکن آجائے جس پر "اردو" تحریر ہو اور اس پر کلک کرنے پر یا کی بورڈ شارٹ‌ کٹ سے لینگوئج سوئچ کرنے پر وہ آئکن "Eng" میں تبدیل ہو جائے۔ خیر اسے فرصت کے اپڈٰیٹس میں شامل کر لیجئے۔
 
نبیل بھائی کیا پروٹو ٹائپ والے اردو ایڈیٹر میں یہ سارے خواص شامل کر سکتے ہیں جو کہ اس میں ہیں۔ تاکہ فنکشن میں یکسانیت آ جائے۔ در اصل میں اسے اپنے بلاگ میں استعمال کرنا چاہتا ہوں۔ جس مین پروٹو ٹائپ اور اسکرپٹاکیولس استعمال ہوئے ہیں۔ خیر جب تک یہ تبدیلیاں نہیں ہو جاتیں تب تک میں وہاں جے کوئیری بھی شامل کر لوں گا۔ بس صفحہ ذرا وزنی ہو جائے گا۔ :grin:

اور ہاں اگر ان سارے ایڈیٹرس کو گٹ ہب پر ہوسٹ کر دیا جائے تو زیادہ لوگوں تک اس کی رسائی بھی ہو جائے گی۔ یہ ایک مشورہ ہے۔
 
Top