پیشنهاد همکاری(GTidy - GUI for tidy )

littlerabbit

مدیر بازنشسته
کاربر فعال
پیشنهاد همکاری(GTidy - GUI for tidy )
تا به حال چندین بار این طور پیشنهادها مطرح شده و هر بار هم این پیشنهادها بی جواب مونده. من خودم معتقدم تا یه کاری رو شروع نکردی نبایست به دیگران پیشنهاد همکاری درباره اون کار بدی (در هر زمینه ای!! نه فقط برنامه نویسی) بنابراین من یکی از پروژه هامو که خودم خیلی باهاش سرو کار دارم و وقت نسبتا زیادی رو ازم گرفته میخوام Open Source کنم و از دوستایی که میتونن کمک کنن در خواست کنم که با من همکاری کنن. البته هیچ نفع مالی وجود ندارد.در حقیقت قسمت بزرگی از کار انجام شده و بیشتر مراحل تکمیلی مد نظزه که این برنامه به یه html editor ساده بدل شه.

بازم میگم این فقط میتونه آغازی واسه اینجور فعالیتها تو این فروم باشه. شاید این بزنامه بدرد خیلیا نخوره اما به هر حال...

یک درخواست دوستانه : لطفا از پرسیدن سوالهای نامربوط خودداری کنید . این پست برای کسانی که دوست دارند در این پروژه همکاری کنند ایجاد شده. اول کد را ببینید و بعد پیشنهادهای خود را (که میخواهید چه تغیری در آن بدهید و چرا ؟) در اینجا ذکر کنید. در صورتی که خودتان میتوانید تغییر را اعمال کنید فقط فایل تغییر داده شده (و نه همه پروژه ) را بصورت زیپ شده همینجا Attach کنید تا بقیه بتوانند آن را بررسی کنند در غیر اینصورت -اگر خودتان بهر دلیلی نمیخواهید تغییر را شخصا اعمال کنید- بقیه دوستان اگر بتوانند و منطقی باشد تغیی
ر را اعمال خواهند کرد. تا در نهایت تغییر نهایی بر پروژه اعمال شود (در صورت تایید از جانب همه ) تا حد ممکن از PM و میل استفاده نکنید پیشاپیش ممنون.

این طرح فقط برای آغاز اینگونه فعالیتها در اینجاست. لطفا نظر خود را درباره این طرح بگویید (حتی از دید کسی که اصلا قصد همکاری ندارد) و امیدوارم باقی دوستان هم شروع کنند.خود من چند کار دیگر دارم که با سرو سامان گرفتن این یکی آنها را هم مطرح میکنم. به زودی اونو تو sourceforge ثبت میکنم و علاوه بر اون هر کی هم همکاری کنه اسمش رو به برنامه اضافه میکنم.


1- تعریف پروژه :
شاید اسم تیدی رو شنیده باشید (tidy نه تولیدارو!!) تیدی یه HTML Checker جالبه که جز توصیه شده های انجمن w3c (استاندارد گذاران HTML و CSS و کلا هرچی مربوط به http میشه)هست و Open Source است. اینم سایتش : http://tidy.sourceforge.net
اما اینجا یه سری مشکل کوچیک هست. تیدی به صورت یک Library برای سی و یک برنامه کنسول معرفی شده. خیلی برنامه ها از تیدی به عنوان یه جز از خودشون استفاده میکنن. اما اونا اولا Open Source نیستن و در ثانی برای استفاده از تیدی های نسخه جدیدتر احتیاج به کامپایل مجدد دارن و چون سورس در دسترس نیست بایستی منتظر موند....علاوه بر اون کار با کنسول هم مکافاته!

من قبلا چند بار کلاس Html داشتم و همیشه تیدی رو به عنوان وسیله ای که بتونن با کمک اون صفحاتی که طراحی میکنن غلط یابی و اصلاح کنن معرفی میکردم. اما چون کار با تیدی کنسول سخته من این برنامه رو نوشتم. -اینم تاریخچه و دلیل ایجاد!!!- و چون به نظر من اصل کار مربوط به تیدی و تیم اونه و من هیچ کار خاصی انجام ندادم که بخوام مخفیش کنم اونو بصورت کد باز منتشر کردم.

حالا من یه برنامه ساده نوشتم (ظاهرا ساده ولی بیچارم کرده!!!) که به جای استفاده از تیدی به عنوان یه library یا dll خارجی از tidy.exe که همیشه میشه اونو از سورس کامپایل کرد و علاوه بر اون از طریق سایت تیدی هم همیشه آخرین نسخش قابل دریافته استفاده میکنه.علاوه بر اون دنگ و فنگ کار با tidy api رو هم نداره.

طرز عملش سادست : تیدی رو اجرا میکنه ولی کنسول های ورودی - خروجی و خطا (stdin - stdout - stderr ) رو اصطلاحا Capture میکنه (یا در حقیقت اصل اینها رو میبنده و یه نسخه که خودش ساخته به جای اونا به برنامه پاس میده ) بعد فایل ورودی رو در stdin مینویسه و خطاها و خروجی رو میخونه و در آخر هم کد خارج شدن تیدی رو چک میکنه تا بفهمه موفق بوده یا نه؟

این دقیقا روش کار یک کامپایلر مثل کامپایلر دلفی هست (البته برداشت شخصی من از چیزی که فقط خوندم و هرگز پیاده سازیشو ندیدم) محیط IDE (همین محیطی که فرمو طراحی میکنه و کلی کارای دیگه ) از کامپایلر کاملا جداست و کامپایلرو میشه گفت همین طوری اجرا میکنه و خروجی رو تحلیل میکنه.البته تو لینوکس (و همه سیستم های غیز ویندوزی)که پایپ وجود نداره یه کم قضیه فرق میکنه.

2- زبان برنامه نویسی :
دلفی - اگه کسی بخواد میتونه اونو به راحتی به سی بیلدر تبدیل کنه علاوه بر اون کتابخونه تیدی واسه سی بیلدر همینطوری هم قابل استفاده هست.-باید باشه :) -

3- احتیاجات :
1- SynEdit از این آدرس : http://synedit.sourceforge.net
2-XP menu از http://shagrouni.com/ - اهمیتی نداره اگه نباشه-
3- در صورتی که میخواید Installer رو هم بسازید این NSIS رو نیاز دارید از این آدرس : http://nsis.sourceforge.net/

و البته مهمترین چیر خود تیدی هست که فقط نیاز به فایل اجراییش هست ولی شما میتونید سورس رو هم بگیرید و خودتون کامپایلش کنید. ( با ویژوال استدیو دات نت - من با ویژوال سی 6 سرویس پک 5 کامپایلش کردم شاید بشه با سی بیلدر هم بدون مشکل کامپایلش کرد کسی هست که امتحان کنه؟؟- ) آدرس : http://tidy.sourceforge.net

4 -کارهایی که باید بشه :
فایل todo.htm رو تو سورس ببینید. فعلا ده مورد هست.

5- از برو بچ کسی حوصله تست داره؟
اگه کسی حوصله داره بسم اله!!! خیلی مهمه هر چی بنظرتون میرسه بگید. (همین جا بنویسید)

6 - چی باید بلد باشید تا بتونید کمک کنید؟
اول از همه دلفی! کار با Thread ها و Stream ها. (علاوه بر آشنایی با VCL ) کمی هم آشنایی با API های ویندوز (خصوصا Pipe ها اگه نشد این مهم نیست میتونید از سورس هر چی میخواید یاد بگیرید) کار با Ini فایلها

اما یه سوال کسی با XML Parser کار کرده که بشه تنظیمات رو تو XML گذاشت نه Ini ؟؟

پروژه رو تو SourceForge هم گذاشتم . اینم آدرسش :
http://sourceforge.net/projects/gtidy
 
Last edited:

littlerabbit

مدیر بازنشسته
کاربر فعال
به نقل از ehsan :
ای بابا... شاید باید بیشتر فرصت بدی :(
نزديك يك ماهه (يا بيشتر ) كه اين پست سنجاق شده اون بالا! اما كو حتي يك Reply!!! ميدونم شايد برنامه جالب نباشه (به نظر خودم هست) اما ميخواستم اين كارا رو باب كنم كه نشد. (هنوز نشده ) علاوه بر اون , برنامه كه هنوز سر جاشه و هر كي بخواد ميتونه پيشنهاد بده يا كمك كنه .من فقط از حالت Sticky درش اوردم!
خوب باقيتون بيايد و كار پيشنهاد بديد. دلفي باشه من هستم اگر وي بي باشه هم سعي ميكنم كمك كنم در حدي كه بلدم.
اينجوري باور كنيد خيلي چيزا ميشه ياد گرفت تازه تجربه جالبيه كه با كسي كه نميشناسيش و حتي نديديش كار كني!
 

sa|3er

کاربر تازه وارد
اگه VB بود ما هم وارد ميدان مي شديم حيف كه delphi يه !!!
 

littlerabbit

مدیر بازنشسته
کاربر فعال
شنيدي اگه عموم زن بود ميشد عمم؟؟ موفق باشي ولي با اگه و حيف كه هيچ چي درست نميشه.
 
بالا