‏نمایش پست‌ها با برچسب وبلاگ. نمایش همه پست‌ها
‏نمایش پست‌ها با برچسب وبلاگ. نمایش همه پست‌ها

۱۳۸۹ شهریور ۲۷, شنبه

نقاشی های کلمیت

نقاشی هایی از کلمیت
منبع : وبلاگ آپرانیک


مطالب جالبی در ذیل این عکسها در وبلاگ آپرانیک آمده است که خواندنی است .



پینوشت :
  • برای دیدن کلیه ی مطالب مربوط به یک موضوع در پایین همین مطلب و در قسمت برچسبها ، بر روی کلمه ی مربوطه کلیک کنید . 
  •  با کلیک بر روی کلمه ی « نظرات » در پایین همین متن ، می توانید نظرات و اندیشه های خود را در ارتباط با این نوشتار ، بنویسید ، تا هم من و هم دیگر خوانندگان ، از نظر شما بهره مند شوند . 
  • اگر حوصله ی نظر دادن ندارید و یا اصلا نظری در این باره ندارید ، می توانید در قسمت « واکنش ها » در پایین همین متن ، فقط بر روی یک عبارت کلیک کرده و آن عبارت ، واکنش شما به این متن خواهد بود .     

۱۳۸۹ مرداد ۲۸, پنجشنبه

آپرانیک ، وبلاگ دخترک نقاش

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


و حالا هم چند نمونه از نقاشی های ایشون رو می بینید 












و در پایان هم یک عکس از دندونای خانم نقاش باشی که بازم از توی وبلاگ خودشون برداشتم :

پینوشت :
  • برای دیدن کلیه ی مطالب مربوط به یک موضوع در پایین همین مطلب و در قسمت برچسبها ، بر روی کلمه ی مربوطه کلیک کنید . 
  •  با کلیک بر روی کلمه ی « نظرات » در پایین همین متن ، می توانید نظرات و اندیشه های خود را در ارتباط با این نوشتار ، بنویسید ، تا هم من و هم دیگر خوانندگان ، از نظر شما بهره مند شوند . 
  • اگر حوصله ی نظر دادن ندارید و یا اصلا نظری در این باره ندارید ، می توانید در قسمت « واکنش ها » در پایین همین متن ، فقط بر روی یک عبارت کلیک کرده و آن عبارت ، واکنش شما به این متن خواهد بود .                      



۱۳۸۹ تیر ۶, یکشنبه

آشنایی با قالب بلاگر - قسمت سوم (آخر)




این نوشتار ، سومین قسمت از مجموعه ی « آشنایی با قالب بلاگر » است که تقدیم شما می شود .
قسمت اول و دوم را قبلا خواندیم .


فضای اسمی اصطلاح ، ساده است ولی کاربرد آن بسیار مهم است . « اصطلاح » (expr) ، اصولا در ارتباط با برچسبهای داده بکار می رود . برای ساخت مورتو بلاگر ، بدانی که مشخصات برچسب xml که در ادامه می آیند ، دارای برچسب های داده در درون خود هستند و بایستی تجزیه شوند . هرکجا برچسبی وجود دارد ، که برچسب « لنگر » (anchor) گفته می شود ، شما ویژگی هایی شبیه href دارید و در این مورد ، شما قصد دارید که پیوند href را بصورت پویا با کمک برخی از داده ها که data:post.url نامیده می شوند ، ایجاد و سپس از این href بعنوان expr:href استفاده نمایید .

   


اجرای ساده ی expr:href در زیرمجموعه ی عنوان
این « زیرمجموعه » ، بخش عنوان در وبلاگ شما خواهد بود .
کاربرد expr:href را با برچسب « لنگر » بررسی کنید .

 
<b:includable id='title'>  
  <b:if cond='data:blog.url == data:blog.homepageUrl'>  
   <data:title/>  
   <b:else/>  
   <a expr:href='data:blog.homepageUrl'><data:title/></a>  
  </b:if>  
 </b:includable> 

 

 
کد زیر را برای درک اجرای expr:src و برچسبهای دیگر را ببینید که کاربرد آن برای تجزیه ی برچسب های داده در ویژگی های تصویر برچسب img است .

 
<a expr:href='data:blog.homepageUrl' style='display: block'>  
  <img   
   expr:alt='data:title'   
   expr:height='data:height'   
   expr:id='data:widget.instanceId'  
   expr:src='data:sourceUrl'   
   expr:width='data:width'   
   style='display: block'  
  />  
 </a

 

 
مشاهده می کنید که چگونه برچسب expr به بطور انتخابی بر روی ویژگی ها ، اعمال می شود . هرجا داده ی مورد استفاده قرار گیرد ، expr اعمال شده و هر جا که برچسب داده مورد نیاز نباشد ، expr حذف می شود . بنابراین متغیرهای فضای اسمی expr ، کلیه ی ویژگی هایی هستند که می توانند برخی از متغیرهای فضای اسمی داده را در درون خود داشته باشند . فلذا کاربرد expr برای برچسب های داده ، در هر مقدار ویژگی از جمله expr:title, expr:id, expr:onClick
و امثال آن بکار میرود . این ویژگی ها می توانند برای هر چسب xml باشند . بعضا در « لنگر » یک تصویر از img, span, div, select, input, button و موارد دیگر نیز دیده شده است .

 


مثال لغزش بوکمارک اجتماعی بر روی دکمه برای بلاگر
کدی که در زیر فهرست شده است ، تشریح می کند که چگونه لغزش را بر روی کلیدی در بلاگر قرار دهیم . گرچه این یک مثال است ولی می تواند تمرکز اصلی من در اینجا بر روی کاربرد نقل قول ها (quote) است . پس بررسی کنید که چطور نقل قول های تکی یا دوتایی در expr:href برای ایجاد و بکارگیری آدرس اینترنتی برای ارائه ی انگشتک و/یا (or/and thumb) بر روی پست بکار می روند . عموما مهم نیست که شما از نقل قول های تکی یا جفتی استفاده می کنید ، ولی هنگامی که ویژگیهای شما قرار است هر دوی آنها را استفاده کند ، نقل قول تکی ویژگی را باز کرده و می بندد و نقل قول جفتی ، بصورت بخشی از ویژگی درک می شود .

بلاگر از نقل قول تکی برای مقادیر ویژگی و از نقل قول جفتی در درون آن استفاده می کند . پس در صورت لزوم ، کدهایتان را تغییر دهید . درون مقادیر ویژگی ، اگر نقل قول های جفتی یا تکی اضافی بعنوان بخشی از کد اصلی وجود داشت ، مثلا جاوااسکریپت ، شما بایستی از آنها رد شوید . همچنین بررسی کنید که علامت'&' به '&amp;' تبدیل شود . بنابراین شما ممکن است مجبور شوید که آدرس اینترنتی خودتان را به این روش ایجاد کنید . بررسی بیشتری را بر روی لغزش بر روی آدرس اینترنتی پست بر روی « لغزش بر » سایت آنها در بخش دکمه و اشیاء انجام دهید . http://www.stumbleupon.com Widgets and button section.

 
1. <a   
   2.  rel="nofollow"   
   3.  target="_blank"   
   4.  expr:href='"http://www.stumbleupon.com/submit?url=" + data:post.url + "&amp;title=" + data:post.title'   
   5.  title="StumbleUpon">  
   6.  <img   
   7.   src="../stumbleupon.png"   
   8.   title="StumbleUpon"   
   9.   alt="StumbleUpon"   
  10.   class="sociable-hovers"  
  11.  />  
  12. </a>  

 


مثال بوکمارک اجتماعی – افزودن آواتار به بلاگر
بازهم گرچه کدهای زیر ، فقط یک مثال هستند ، ولی تمرکز من بر روی کاربرد جاوااسکریپت است . بررسی کنید که چگونه data:post.url بکار می رود ، در حالیکه آن را در آدرس آواتار متغیر جاوااسکریپت وارد می کند . شما می توانید این کد را برای نمایش یک شمارنده ی آواتار برای پستهای خودتان به یک شیوه ی فشرده ی مرتب بر روی وبلاگتان استفاده کنید . مستندات آواتار را در این آدرس و در بخش ابزارها بررسی کنید . http://www.digg.com tools section

 
1. <script type="text/javascript">  
   2.  digg_url = &#39;<data:post.url/>&#39;;  
   3.  digg_skin = 'compact';  
   4.  digg_window = 'new';  
   5. </script>  
   6. <script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script>   

 

 
همانگونه که می بینید ، فرار از نقل قول ها در بالا انجام شد . گرچه این یک مثال مستقیم از کاربرد expr:tag بصورت javascript onclick یا چیز دیگر نیست . آیا شما منطق کار را متوجه شدید ؟ ولی اگر شما متوجه نشدید ، این فهرست کد را که دکمه ی افزودن نظر را نشان می دهد ، بررسی کنید . این دکمه عموما در پایین پست های شما وجود دارد که مطمئنا قابل سفارشی سازی نیز هست .

 
1. <div class='post-footer-line post-footer-line-3'>  
   2.  <span class='post-comment-link'>  
   3.   <b:if cond='data:blog.pageType != &quot;item&quot;'>  
   4.    <b:if cond='data:post.allowComments'>  
   5.     <a   
   6.      class='comment-link'   
   7.      expr:href='data:post.addCommentUrl'   
   8.      expr:onclick='data:post.addCommentOnclick'>  
   9.       <b:if cond='data:post.numComments == 1'>  
  10.        1 <data:top.commentLabel/>  
  11.       <b:else/>  
  12.        <data:post.numComments/> <data:top.commentLabelPlural/>  
  13.       </b:if>  
  14.     </a>  
  15.    </b:if>  
  16.   </b:if>  
  17.  </span>   
  18. </div>  

 
data:post.addCommentOnclick ، جاوااسکریپت مناسب را بر اساس تنظیمات وبلاگ شما تولید می کند . برای مثال یک پنجره ی popup یا صفحه ی نظرات .
data:post.addCommentUrl ، آدرس اشاره به نظرات برای پست شما را تولید می کند .

اکنون به پایان سومین و آخرین قسمت آموزشی « آشنایی با قالب بلاگر » رسیدیم .

منبع را در اینجا ببینید



نظرات خود را در بخش نظرات بنویسید .
اگر سایتی را می شناسید که اطلاعات مفیدی در این رابطه دارد ، در بخش « پیوندهای مربوط به این پیام » ، آدرس آن سایت یا وبلاگ را اضافه کنید .
از این که خواننده ی این وبلاگ هستید ، متشکرم .

۱۳۸۹ تیر ۵, شنبه

آشنایی با قالب بلاگر- قسمت اول


قالب بلاگر ، یک سند xhtml است که بر اساس یکسری متغیر ارائه شده است . این خودآموز با هدف کمک به درک قالبهای بلاگر ، آزمایش ، آموختن و تغییر آن ایجاد شده است .قالب بلاگر ، در اصل از سه نوع متغیر تشکیل شده است که یکی از این متغیرها ، کدهایی که بدنبال آن می آید را کنترل می کند . دیگری داده ها را از پایگاه داده می گیرد و بالاخره آخرین متغیر نیز حاوی اصطلاحات است . سپس این متغیرها به کمک فضاهای اسمی xml ، از یکدیگر تفکیک می شوند .
این قسمت ، نخستین بخش از 3 سری آموزشی می باشد .
تمرکز این آموزش بر روی اصول قالب ، و فضاهای اسمی خواهد بود .
فهرست موارد آموزشی بدین شرح است : ( با کلیک بر روی هر قسمت ، می توانید منبع اصلی این مطالب را نیز ببینید )
  1. Blogger Template Explanation - Sections, widgets, includables, includes. b: namespace
  2. Blogger Template Explanation - Data access. data: namespace elements.



قالب بلاگر ، یک سند xhtml است که بر اساس مشخصات آدرس زیر می باشد :
http://www.w3.org/1999/xhtml
فضاهای اسمی زیر در قالب بلاگر به کار رفته است :
# <html  
#  xmlns  = 'http://www.w3.org/1999/xhtml'   
#  xmlns:b  = 'http://www.google.com/2005/gml/b'   
#  xmlns:data = 'http://www.google.com/2005/gml/data'   
#  xmlns:expr = 'http://www.google.com/2005/gml/expr'   
# >

 

 
این فضای اسمی در سراسر سند xml برای واکشی و نمایش داده بکار می روند . فلذا این خودآموز اساسا قصد تشریح متغیرها را در فضای اسمی 'b' دارد . متغیرها در این فضای اسمی ، طرح بندی و روند قالب وبلاگ را کنترل می کنند که به قرارگیری عناصر وبلاگ در مکان مشخص و شرایط شرطی همانند حلقه ها کمک می کند . بعدا در مورد فضاهای اسمی ، بیشتر توضیح می دهیم .
اصولا قالب به بخش هایی (sections) تقسیم شده است . این بخش ها نیز به نوبه ی خود ، شامل اشیایی (widgets) هستند . اشیاء هم ، زیرمجموعه هایی (includable) دارند . زیرمجموعه ها نیز اگر بوسیله ی برچسب « شمول » (include) بکار گرفته نشوند ، بلااستفاده خواهند بود .

 

 
برچسب « بخش » section
برچسب « بخش » ، تقسیم بندی قالب بلاگر شما را تعیین می کند . « بخش » نمی تواند به طور مستقیم ، یک کد را در برگیرد . « بخش » فقط می تواند در برگیرنده ی « اشیاء » (widget) باشد . آنچه در زیر می بینید ، مشخصات و پیکربندی پشتیبانی شده توسط برچسب « بخش » می باشد .

 
1. <b:section [attribs] >  
   2. </b:section>  

 
Id
وجود این کارکن ، ضروری است
شناسه ای که سبب شناسایی « بخش » می شود ، بایستی یگانه و منحصر بفرد باشد .
این شناسه (id) می تواند برای شناسایی « بخش » ، پس از ارائه و عرضه ی وبلاگ بکار گرفته شود .
برچسبهای « بخش » بصورت برچسبهای div که از همین شناسه استفاده می کنند نیز حضور دارند .
Class
وجود این کارکن ، اختیاری است .
اسامی مشترک کلاس ، عبارتند از navbar , header,sidebar, footer
اگر شما بعدا قالب ها را تعویض کنید ، این اسامی به بلاگر کمک می کنند تا چگونه بهترین ارسال را بر روی محتویات شما داشته باشند .
Maxwidgets
وجود این کارکن ، اختیاری است .
این کارکن ، بیانگر تعداد حداکثر اشیاء مجاز در این « بخش » می باشد .
اگر شما محدوده ای را برای آن تعیین نکنید ، آن مقدار ، یک نخواهد شد .
Show addelement
وجود این کارکن ، اختیاری است .
پاسخ آن نیز می تواند بله یا خیر باشد . (yes/no)
حالت پیشفرض آن ، بله است (yes)
این فاکتور ، تعیین می کند که آیا برگه ی (tab) « عناصر صفحه » (page elements) ، پیوند « یک عنصر صفحه بیفزایید » را در این « بخش » نشان بدهد یا خیر.
Growth
وجود این کارکن ، اختیاری است .
این کارکن می تواند دارای حالات « افقی » یا « عمودی » باشد (horizontal/vertical)
حالت پیشفرض این کارکن ، عمودی است (vertical)
این کارکن ، روش ترتیب قرارگیری اشیاء درون این « بخش » را تعیین می کند که آیا « کنار به کنار » باشد یا « انباشته »

 

 

 

 
برچسب شیء (widget)
برچسب های اشیاء در درون برچسبهای « بخش » قرار دارند . دو شیوه برای دیدن کدهای HTML در صفحه ی « ویرایش HTML» وجود دارد . یک روش ، شکل ساده است که به صورت پیش فرض نشان داده می شود و دیگری شکل « گسترش اشیاء » با استفاده از جعبه ی بازرسی (check box) .
در شکل ساده ، اشیاء با پیکربندی «تک برچسب » (single tag ) ، درون « بخش ها » قرار گرفته اند .
یعنی باز و بسته شدن برچسب ، در یک خط صورت می گیرد .
# <!--Simple form.-->  
# <b:widget [attribs] />  
#   
# <!-- Expanded form. -->  
# <b:widget [attribs] >  
# </b:widget>

 

 
یک « شیء » می تواند حاوی مشخصات زیر باشد :
Id
وجود این کارکن ، ضروری است
این کارکن ، فقط می تواند شامل حروف و اعداد باشد .
هر شناسه ی « شیء » بایستی منحصر بفرد و یگانه باشد .
شناسه ی « شیء » بدون پاک کردن و ایجاد « شیء» جدید نباید تغییر کند .
همانند برچسب های « بخش » ، برچسب های « شیء » نیز به برچسب های div تبدیل شده که از همان شناسه استفاده می کند .
Type
وجود این کارکن ، ضروری است .
این کارکن نشان می دهد که این شیء از چه نوعی است و بایستی یکی از انواع صحیحی باشد که در زیر ، فهرست شده است .
Locked
وجود این کارکن ، اختیاری است .
این کارکن می تواند دارای حالات بله یا خیر باشد (yes / no )
حالت پیشفرض این کارکن ، نه می باشد (no)
اشیاء قفل شده (locked) ، قابلیت جابجایی یا حذف از برگه « عناصر صفحه » را ندارند .
Title
وجود این کارکن ، اختیاری است .
این کارکن ، یک عنوان برای اشیاء است .
اگر عنوانی برای اشیاء انتخاب نشود ، یک عنوان پیش فرض ، مثل "list1" بکار خواهد رفت .
Page type
وجود این کارکن ، اختیاری است .
این کارکن ، می تواند شامل هر یک از این موارد باشد : item , main , archive , all
حالت پیشفرض این کارکن ، all می باشد .
اشیاء صرفا در صفحات تعیین شده در وبلاگ شما به نمایش در خواهند آمد .
این در حالی است که در برگه ی عناصر صفحه (page elements) ، بدون توجه به نوع آنها ، به نمایش در خواهند آمد .

 

 

 
نوع « اشیاء » می تواند یک از انواع تعیین شده باشد ، از جمله موارد زیر :
BlogArchive, Blog, Feed, Header, HTML, SingleImage, LinkList, List, Logo, BlogProfile, Navbar, VideoBar, NewsBar
اشیاء در شکل ساده ، فقط موقعیت قرارگیری را به شما نشان می دهند . اگر شما خواهان ویرایش اشیاء هستید ، به حالت نمایش پیشرفته ، یعنی « گسترش اشیاء » (expand widget) تغییر حالت بدهید .

 

 

 

 
برچسب زیرمجموعه (includable)
اشیاء ، مجموعه ای از زیرمجموعه ها و معمولا شامل یک زیرمجموعه ی اصلی هستند . « زیر مجموعه ها » ، همانگونه که از نامشان پیداست ، تکه هایی از کدهایی هستند که می توانند با هم در تعامل باشند تا از برخی تکرارها ، جلوگیری کنند . فلذا این زیرمجموعه ها می توانند در جاهای مختلف بکار گرفته شوند . سوای موضوع جلوگیری از تکرارها ، زیرمجموعه ها به درک ساختار اشیاء کمک می کنند . برچسب « زیرمجموعه » بخشی از فضای اسمی 'b' نیز می باشد . از اینرو ، زیرمجموعه دارای برچسبی به این صورت خواهد بود .
1. <b:includable id='[some-unique-id]' [attribs] >  
   2. </b:includable>  

 
برچسب زیرمجموعه دارای مشخصات زیر است :
Id
وجود کارکن شناسه ، ضروری است .
کارکن شناسه ، کارکن تعیین هویت است که از حروف و اعداد تشکیل شده است .
توجه : اشیاء بایستی حداقل دارای یک « زیرمجموعه » باشند که شناسه ی آن نیز "main" باشد .
Var
وجود این کارکن ، اختیاری است .
این کارکن ، یک کارکن تعیین هویت متشکل از حروف و اعداد است که برای ارجاع داده های درون این بخش ، بکار می رود .
داده ها نیز همانند فضای اسمی ، ارجاع داده خواهند شد . یعنی اگر "var=a" بکار رود ، سپس عنوان (title) در داده (data) می تواند به صورت a:title رجوع داده شود .

 

 

 
برچسب شمول (include)
« زیرمجموعه » هایی که در بالا ایجاد شد ، نیازمند آن است که زیرمجموعه ی اشیاء شود و بهمین منظور از برچسب « شمول » استفاده می کنیم . اگر « اشیاء » شما صرفا دارای یک « زیرمجموعه » است که در این صورت ، شناسه ی آن ، "main" خواهد بود ، نیازی نیست که بخاطر آن ، یک « شمول » جداگانه تشکیل دهیم ، چرا که « تک زیرمجموعه » بصورت پیش فرض ، تحت شمول قرار خواهد گرفت . برچسب « شمول » ، شامل دو مشخصه ی اصلی است : « نام » که به شناسه ی « زیرمجموعه » ارجاع می دهد و « داده » که به متغیر (var) زیرمجموعه ارجاع می دهد . برچسب « شمول » ، حالت « خودبسته شو » داشته و نیازی به برچسب « بستن » ندارد . 

1. <b:include name='[the-includable-name]' data='[the-expression-for-var]'/>  


و اما مشخصات نام و داده
Name
وجود این کارکن ، ضروری است .
این کارکن ، به « زیرمجموعه » ای که بایستی تحت شمول قرار گیرد ، اشاره می کند .
بنابراین بایستی « زیرمجموعه » ای با شناسه ی این نام وجود داشته باشد .
Data
وجود این کارکن ، اختیاری است .
همانند فراسنجه ای (parameter) که به یک کارکرد یا تابع میرسد ، این داده نیز به « زیرمجموعه » می رسد .
این کارکن ، بخشی از داده است که به سمت بخش « زیرمجموعه » حرکت خواهد کرد .

 

 
ما می توانیم هر نامی را برای « زیرمجموعه » برگزینیم ، ولی آن اسم بایستی برای « اشیاء » یگانه و منحصر بفرد باشد . این زیرمجموعه می تواند در یک یا چند جا در اشیاء بوسیله ی برچسب « شمول » بکار رود .

 

 

 
برچسب شرطی اگر/ وگرنه (if/else)
این برچسب به شکل زیر است :
# <!-- Only if-->  
# <b:if cond='[some condn check]'>  
#  [Then do this]  
# </b:if>  
#   
#   
# <!-- both if and else-->  
# <b:if cond='[some cond check]'>  
#  <!--  [Then do this]  -->  
# <b:else/>  
#  <!--  [else do this]  -->  
# </b:if> 

 

 
از روی شکل بالا ، عملکرد این برچسب ، کاملا مشخص است .
چیزی که بایستی بدانیم ، این است که برچسب « وگرنه » (else) ، حالت « خود بسته شو » دارد .
برای درک بهتر مطلب ، مثالهای زیر را ببینید.
1. <!-- to check a boolean variable. -->  
   2. <b:if cond='data:useImage'>   
   3.  <!--  [execute if the header for your blog is image instead of text]  -->  
   4. </b:if>  
   5.   
   6. <!-- to compare equivalence of two values-->  
   7. <b:if cond='data:blog.pageType == "item"'>   
   8.  <!--  [True if the current page is an item page (post page).]  -->  
   9. </b:if>  
  10.   
  11. <!-- to compare non-equivalence -->  
  12. <b:if cond='data:displayname != "Fred"'>   
  13.  <!--  [True if this is not Fred's display name.]  -->  
  14. </b:if>  
  15.   
  16. <!-- comparing greater than, less than-->  
  17. <b:if cond='data:post.numComments > 1'>   
  18.  <!--  [True if the current post has more than one comment.]  -->  
  19. </b:if>  

 

 

 

 

 

 

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

 
1. <b:loop var='some-identifying-var' values='set-of-something'>  
   2.  <!--  [For every var in the values i.e., for every data in the set of data do something here]  -->  
   3. </b:loop>  

 

 

 

 

 

 

 

 

 

 
اکنون شما ، پایه های کار را انجام دادید ولی هنوز یک چیز خیلی مهم باقی مانده است : نمایش داده های شما .
بدیهی است شما نمی خواهید که فقط یک صفحه ی خوشگل بدون داده داشته باشید .
شما بایستی داده هایتان را نیز نمایش دهید .
بنابراین بایستی چیزهایی را در مورد فضای اسمی داده نیز یاد بگیریم .
با توجه به چیزهایی که گفته شد ، فضای اسمی داده ، حاوی مهمترین متغیرهاست و اگر در این قسمت به آن بپردازیم ، سبب بهم ریختگی ذهنی شما خواهد شد .
پس مقاله ی جداگانه ای را در این رابطه خواهم نوشت .
بدانید که هنوز بایستی تجربه ی بیشتری کسب کنید ، پس مطلب بعدی را نیز حتما بخوانید .
بنابراین بروید یک استکان چای بنوشید و آماده شوید که مطالعه ی کدها را شروع کنیم .

 

 

 

 
از اینکه با نظرات ارزشمند خودتان ، به من کمک کنید ، خوشحال می شوم .
اگر توضیحات بهتری در این رابطه دارید ، در بخش نظرات بنویسید .

آشنایی با قالب بلاگر - قسمت دوم


این نوشتار ، قسمت دوم از خودآموز سه قسمتی « قالب بلاگر » است که در خصوص داده ها ، فضای اسمی و آشنایی با چگونگی دستیابی به متغیرهای آن به بحث می پردازد .
فضای اسمی داده ، مهمترین برچسب است ، چرا که راهی است که بدانوسیله شما می توانید به داده هایتان دسترسی پیدا کنید . اصولا فضای اسمی ، راهی برای شناسایی و حفظ یگانگی در گستره ای از عناصر موجود است . این شناسایی و یگانگی در اسناد xml بدین صورت است : [namespace-identifier]:[the-tag]
در اینجا ، داده ، شناسه ی فضای اسمی است و عناصر یکتای بیشتری نیز دارد . اصولا یک فضای اسمی ، در شناسایی و اختصاص اسامی یکتا به متغیرها کمک می کند .
متغیرهای داده ، تنوع فراوانی دارند . برخی از این متغیرها ، دسترسی کلی دارند . منظورم از دسترسی کلی ، این است که در هر جایی ، قابلیت دسترسی دارند . در حالیکه شناسه ها و برچسب های مشخص ، صرفا می توانند توسط شیء مشخص ، دسترسی داشته باشند .
اکنون به چگونگی عملکرد آنها می پردازیم :

 

 
داده های با دسترسی کلی The Globally available data
این داده ها در هر جایی از وباگ شما ، قابلیت دسترسی دارند . بنابراین هر جا که تمایل داشته باشید ، می توانید از آنها استفاده کنید . این داده ها به صورت بخشی از داده های « وبلاگ » ارجاع خواهند شد . مثلا در عنوان وبلاگ به صورت blog.title مورد مراجعه قرار می گیرند . فراموش نکنید که داده های فضای اسمی را در آغاز کار ، تحت شمول قرار دهید . کدهای زیر ، چگونگی کاربرد این کدها را تشریح می کند .
<!--[The blog's title.]-->  
 <data:blog.title/>   
   
 <!--[  
 The type of the current page. One of 'item', 'archive', or 'index'.  
 This var is quite useful for selectively showing content on   
 different type of pages. Put an if and check if its index page or   
 item page and then display selective content  
 ]-->  
 <data:blog.pageType/>  
   
 <!--  [The URL of the current page.]  -->  
 <data:blog.url/>  
   
 <!--  [The homepage of the blog.]  -->  
 <data:blog.homepageUrl/>  
   
 <!--[  
 The title of the current page. This is often the blog title,   
 but may contain additional information on archive or post pages.  
 ]-->  
 <data:blog.pageTitle/>   
   
 <!--  [The encoding to use for the blog, e.g. UTF-8.]  -->  
 <data:blog.encoding/>   
   
 <!--[  
 Either "ltr" or "rtl" for left-to-right   
 and right-to-left languages, respectively.  
 ]-->  
 <data:blog.languageDirection/>   
   
 <!--  [The autodiscovery feed links for the page header.]  -->  
 <data:blog.feedLinks/> 

 
جدای از داده های با دسترسی کلی ، داده های مشخصی نیز هستند که برای انواع مشخصی از اشیاء کاربرد دارند. در زیر ، فهرستی از انواع اشیاء را مشاهده می کنید . برای هر یک از این اشیاء ، برچسب های مختلفی موجود است .
  • Page Header
  • Blog Archives
  • Profile
  • Text / HTML / JavaScript
  • Feed
  • Picture
  • Labels
  • List
  • Link List
  • Logo
  • Blog Posts

 

 

 
اشیاء سرصفحه Page header widgets
این اشیاء ، اصولا توسط « بخش » سرصفحه (header section) در مدخل وبلاگ شما ، مورد استفاده قرار میگیرند . یعنی جایی که عنوان و توضیح وبلاگ آورده شده است . این شیء ، بسیار ساده بوده و صرفا از دو نوع از متغیرهای داده جهت دسترسی ، استفاده می کند . بخاطر داشته باشید که این اشیاء به کاربردی همچون شناسه ی وبلاگ (blog.identifier) که در مورد داده های با دسترسی کلی وجود داشت ، نیازی ندارند . این اشیاء می توانند بطور مستقیم در اشیاء از نوع سرصفحه به کار گرفته شوند .
1. <!--[The blog's title. ]-->  
   2. <data:title/>   
   3.   
   4. <!-- [ The blog's description. ]-->  
   5. <data:description/>  

 

 
آرشیو وبلاگ Blog Archive
سه نوع پیکربندی برای آرشیوهای وبلاگ وجود دارد .



  • فهرست (menu)



  • مسطح (flat)



  • سلسله مراتب (hierarchy)
اگر شما نسخه ی جدیدی را طراحی می کنید ، استفاده از پیکربندی « مسطح » آسانتر است . حالا می توانید ادامه ی کار را به شیوه ی دلخواهتان بپیمایید .
داده های کلیدی بشرح زیر هستند .



  • Title



  • Style



  • Data
Data : شامل نام مدت آرشیو ، آدرس پست و شماره ی پست در طول مدت می باشد .


Title : عنوان شی ء
Style : شامل یکی از حالات زیر خواهد بود :



  • Menu



  • Flat



  • Hierarchy
Data : لیستی از هر بخش از آرشیو که هر کدام از آنها ، شامل موارد زیر است :



  • Name : نام مدت یا دوره ی تکرار آرشیو



  • url : پیکربندی پستهای موجود در صفحه



  • Post-count : تعداد پست های موجود در این مدت
کاربرد : « زیر مجموعه » را برای حالت مسطح مورد بررسی قرار دهید که می تواند به صورت شمول در زیرمجموعه ی اصلی برای نمایش ، تحت شمول قرار گیرد .


<!--[ Simple usage of title ]-->   <b:if cond='data:title'>    <h2><data:title/></h2>   </b:if>      <!--[ For a includable flat type ]-->   <b:includable id='flat' var='data'>    <ul>     <b:loop values='data:data' var='i'>      <li class='archivedate'>       <a expr:href='data:i.url'>        <data:i.name/>       </a>       (<data:i.post-count/>)      </li>     </b:loop>    </ul>   </b:includable>


 
شیء نمایه profile widget
این شیء ، نمایه ی نویسنده ی وبلاگ است که می تواند یک نفر یا یک تیم نویسنده باشد . برای وبلاگی با یک نویسنده ، شیء نمایه ، دارای اطلاعات زیر خواهد بود



  1. title
    عنوان شیء




  2. userUrl
    آدرس نمایه ی نویسنده




  3. location
    مکان نمایه ی نویسنده




  4. aboutme
    اطلاعات « درباره ی من » در نمایه ی نویسنده




  5. displayname
    نام قابل نمایش نویسنده




  6. photo
    عکس موجود در نمایه ی نویسنده که حاوی موارد زیر است







    1. url
      آدرس عکس




    2. width
      عرض عکس در واحد پیکسل




    3. height
      ارتفاع عکس در واحد پیکسل




    4. alt
      نوشته های مربوط به عکس




 
شیء مربوط به تیم نویسندگان ، حاوی اطلاعات کمتری است که برچسبهای آن را در زیر می بینیم .
  • title
عنوان شیء




  • authors
    فهرست نویسندگان که هر کدام از آنها شامل موارد زیر است :




  1. displayname
    نام قابل نمایش نویسنده

  2. userURL
آدرس نمایه ی نویسنده

 
اگر شما می خواهید وبلاگتان را طوری طراحی کنید که به هر دو حالت تک نویسنده و تیم نویسندگان ، دسترسی داشته باشید ، می توانید از حالت زیر برای تعیین وضعیت بین دو حالت گفته شده استفاده کنید .
Data : team variable

 
در زیر نیز می توانید این حالت را مشاهده کنید .

 



 

 

 
شیء جاوااسکریپت- اچ تی ام ال – متن text/HTML/JavaScript widget
این شیء بسیار ساده بوده و فقط شامل دو عنصر است :
Title : عنوان شیء
Content : محتویات شیء
کاربرد این دو عنصر مشابه همان چیزی است که در بخش کدهای آرشیو توضیح دادیم .

 
 <b:if cond='data:team=="true"'>     <!--[display multiple authors] -->   </b:if>

 

 

 
شیء خوراک feed widget
شیء خوراک ، همانند سایر اشیاء ، برچسب هایی را برای دستیابی به اطلاعات خود از بین داده های خوراک دارد . این داده ها شامل همه موارد و عناصری است که در خوراک وجود دارد . مواردی همچون عنوان ، تاریخ انتشار ، نویسنده ، خلاصه ی متن و غیره . بنابراین اصولا این داده ی خوراک ، مجموعه ای از داده است . برچسب حلقه را که قبلا توضیح دادیم بیاد آورید . اکنون بایستی از آن در دستیابی به هر مورد از مجموعه موارد فوق استفاده کنیم .

 



  1. title
    عنوان شیء




  2. feedUrl
    آدرس خوراک




  3. feedData
    موارد و عناصر خوراک که هر کدامشان نیز شامل موارد زیر هستند







    1. title
      عنوان هر مورد




    2. str_published
      زمان انتشار آن مورد ( پیکربندی در محدوده ی زمانی وبلاگ )




    3. published
      زمان انتشار آن مورد ( در ثانیه هایی پس از آن زمان )




    4. str_updated
      زمان آخرین روزآمدسازی ( پیکربندی در محدوده ی زمانی وبلاگ )




    5. updated
      زمان آخرین روزآمدسازی ( در ثانیه هایی پس از آن زمان )




    6. author
      نویسنده ی مطلب




    7. summary
      قطعه ای از متن ( در صورت دسترسی )




    8. alternate
      مکانی که اطلاعات بیشتری در خصوص این مورد ، اخذ می شود . این قسمت شامل موارد زیر می شود :







      1. href
        پیوند دائمی این مورد




      2. type
        نوع مفاد این مورد






 


 
شیء تصویر Picture Widget

شیء تصویر ، شامل یک « تک تصویر » است و کلیه ی داده های مرتبط برای داده را تهیه می کند .


 



  1. title
    عنوان شیء




  2. sourceUrl
    آدرس تصویر




  3. width
    عرض تصویر در واحد پیکسل




  4. height
    ارتفاع تصویر در واحد پیکسل




  5. caption
    عنوان تصویر


 

شیء برچسب Labels Widget

شیء برچسب ، شامل لیستی از همه ی برچسب ها است که در وبلاگ استفاده شده اند .






  1. title: The widget title.
    عنوان شیء




  2. labels: The list of labels, each of which contains:
    فهرست برچسب ها که هر کدام از آنها شامل موارد زیر است :







    1. name
      متن برچسب




    2. count
      تعداد پستهایی که با این برچسب وجود دارند




    3. url
      یک پیوند به صفحه ای که پستهای دارای این برچسب را نشان می دهد .




 

شیء فهرست List Widget


 

این شیء ، ساده ترین نوع فهرست است . هر مورد فقط یک تکه متنی دارد ، بدون هیچ نوع متفاوتی از داده .




 



  1. title
    عنوان شیء




  2. items
    فهرست موارد





    کاربرد : مشابه آنچه که برای فهرست پیوندها توضیح داده شد .











فهرست پیوندها Link List Widget


 
یک لیست تقریبا تخیلی که هر مورد از آن ، دو بخش دارد : متن و پیوند

 



  1. title:
    عنوان شیء




  2. links:
    فهرست پیوندها ، که هر کدام از آنها شامل موارد زیر است :







    1. name:
      متن پیوند




    2. target:
      آدرس پیوند



 <!--[Check the complete implementaion of the linklist widget. ]-->   <b:widget id='LinkList1' locked='false' title='More Blogs' type='LinkList'>    <b:includable id='main'>     <b:if cond='data:title'>      <h2><data:title/></h2>     </b:if>     <div class='widget-content'>      <ul>       <b:loop values='data:links' var='link'>        <li>         <a expr:href='data:link.target'>          <data:link.name/>         </a>        </li>       </b:loop>      </ul>      <b:include name='quickedit'/>     </div>    </b:includable>   </b:widget>

 

 
لوگو یا آرم logo
از این ساده تر ، چیزی نداریم . اینجا فقط تکه ای از داده داریم . همین !

 



  1. fullButton
    آدرس دگمه ی بلاگری که توسط شما انتخاب شده است .


 


 


 


 


 


 


 


 

شیء پست وبلاگ Blog Post Widget

این شیء ، بخش مرکزی هر وبلاگ است . این بخش ، پیچیده ترین بخش وبلاگ نیز بشمار می رود .


 



  1. feedLinks
    فهرستی از خوراک های این صفحه است . در صفحه ی اصلی ، شامل خوراک وبلاگ اصلی خواهد بود . در صفحه ی موارد و عناصر ، شامل خوراک نظرات می باشد . شیء پست وبلاگ ، زیرمجموعه ای دارد که بصورت پیوند خوراک تهیه شده که به نوبه ی خود از زیرمجموعه ی دیگری به نام « بدنه ی پیوند خوراک » استفاده می کند .







    1. url
      آدرس خوراک




    2. name
      نام خوراک ( مثلا پست یا نظرات )




    3. feedType
      نوع خوراک (Atom or RSS)




    4. mimeType
      نوع تقلید خوراک






  2. olderPageUrl
    اگر پستهای قدیمی تر از پستی که هم اکنون بر روی صفحه وجود دارد نیز موجود باشد ، این گزینه ، آدرس آن پستها خواهد بود . نوع صفحه ، حساس به مفاد (contex-sensitive) می باشد ( این پیوند برای کلیه ی صفحات نمی باشد . بنابراین از دستورات شرطی برای آن استفاده می کنیم )




  3. olderPageTitle
    عنوان پیوند به صفحات پست های قدیمی تر




  4. newerPageUrl
    آدرس پستهای جدیدتر نسبت به پستهای قدیمی تر




  5. newerPageTitle
    عنوان پستهای جدیدتر نسبت به پستهای قدیمی تر




  6. commentLabel
    عبارت مورد استفاده برای نمایش تعداد نظرات ، مثلا « نظرات خوانندگان »




  7. authorLabel
    عبارت مورد استفاده برای تشخیص نویسنده ی پست ، مثلا « نوشته شده توسط »




  8. timestampLabel
    عبارت مورد استفاده برای تشخیص زمان نوشته شدن پست ، مثلا « تاریخ ارسال »




  9. postLabelsLabel
    عبارت مورد استفاده برای معرفی فهرست برچسب های مورد استفاده در هر پست ، مثلا « برچسب های این نوشتار »




  10. backlinksLabel
    عبارت مورد استفاده برای پیوندهای برگشتی به این پست ، مثلا « پیوندهای مربوط به این نوشتار »




  11. posts
    فهرستی از همه ی پستها ی موجود در این صفحه . هر پست ، شامل موارد زیر می باشد .







    1. dateHeader
      تاریخ این پست ، که صرفا اگر این پست ، نخستین پستی باشد که در این فهرست در روز جاری ارسال شده باشد ، نمایش داده خواهد شد .




    2. id
      شناسه ی پست عددی




    3. title
      عنوان پست




    4. body
      محتوای پست




    5. author
      نام قابل نمایش نویسنده ی پست




    6. url
      پیوند دائمی پست




    7. timestamp
      برچسب زمان پست . این مورد با آنچه در بند یکم دیدیم متفاوت است . این تاریخ برای همه ی متن ها وجود خواهد داشت .




    8. labels
      فهرست برچسب های پست . هر برچسب ، حاوی موارد زیر خواهد بود .







      1. name
        متن برچسب




      2. url
        آدرس صفحه ای که کلیه ی پستهای این وبلاگ را که دارای این برچسب هستند ، فهرست می کند .




      3. isLast
        درست یا غلط . مشخص می کند که آیا این برچسب ، آخرین برچسب در فهرست است یا خیر ( مورد استفاده ی این بخش ، برای این است که سامانه بداند که آیا باید از ویرگول استفاده کند یا نه ؟ ) (true or false )






    9. allowComments
      « درست » (true) در صورتیکه این پست ، اجازه ی اعمال نظرات کاربران را داشته باشد .




    10. numComments
      تعداد نظرات موجود در این پست




    11. showBacklinks
      تعیین وضعیت نمایش یا عدم نمایش پیوندهای برگشتی برای این پست




    12. numBacklinks
      تعداد پیوندهای برگشتی برای این پست




    13. addCommentUrl
      آدرس فرم « افزودن نظر » از این پست




    14. emailPostUrl
      آدرس فرم « ایمیل این پست » برای این پست




    15. editUrl
      آدرس فرم « ویرایش » برای این پست




    16. feedLinks
      فهرستی از خوراک های مشخص برای این پست ( این بخش ، متفاوت از آنچیزی است که در بخش پیوند خوراک وبلاگ دیدیم . این می تواند صرفا خوراکی حاوی نظرات پست باشد ) . هر کدام از اعضای این فهرست ، دارای موارد زیر خواهند بود .







      1. url
        آدرس خوراک




      2. name
        نام خوراک ( مثلا پست ها یا اینکه نظرات )




      3. feedType
        نوع خوراک (Atom or RSS).




      4. mimeType
        نوع تقلید خوراک






    17. comments
      فهرستی از کلیه ی نظرات این پست ( صرفا بر روی صفحات آیتم ) . هر مورد آن نیز شامل موارد زیر خواهد بود .







      1. id
        شناسه ی عددی نظر




      2. body
        بدنه ی نظر




      3. timestamp
        زمان ایجاد نظر




      4. author
        نمایش نام نویسنده ی نظر یا اعلام به صورت ناشناس




      5. authorUrl
        آدرس نمایه ی نویسنده ی نظر ( در صورتیکه ناشناس نباشد )




      6. deleteUrl
        آدرسی برای پاک کردن نظر




      7. isDeleted
        تعیین وضعیت پاک شدگی نظر ( متنی با عنوان « نظر حذف شده » جایگزین مکان قبلی همان نظر می شود .





   1. <!-- [Using feedlinks ]-->     2. <!-- [feedlinks for the blog can be used displayed using the elements in this way. ]-->     3. <data:feedlinks.url/>     4. <!-- [whereas feedlinks for a post which include e.g. comments can be shown this way. ]-->     5. <data:post.feedlinks.url/>     6.      7.      8. <!--[     9. if inside a includable and a var is assigned to it while using the include     10. then use it in this manner    11. ]-->    12. <b:include data='post.feedLinks' name='feedLinksBody'/>    13. <b:includable id='feedLinksBody' var='links'>    14.  <b:loop values='data:links' var='f'>    15.   <a class='feed-link' expr:href='data:f.url' expr:type='data:f.mimeType'>    16.    <data:f.name/> (<data:f.feedType/>)    17.   </a>    18.  </b:loop>    19. </b:includable> 

 

 

 
بنابراین از فهرست بالا ، عناصر داده ای که در فهرست اصلی هستند ، می توانند به طور مستقیم ، قابل دسترسی باشند ، همانند آنچه در بالا در خصوص پیوند خوراک وبلاگ دیدیم . « زیرفهرستها » در فهرست اصلی می توانند با استفاده از عامل نقطه ، قابل دسترسی گردند . بعبارتی همانند برنامه نویسی شیء گرا که [classNameVar].[objectVar] به شما دسترسی به متغیرهای عنصر یک کلاس را میدهد ، عمل می کند . فلذا برای دسترسی عمیق تر به متغیرهای فهرست ، از عامل نقطه (dot operators) بهره بگیرید .

 <!--[  
 For accessing the comment id you will have to use either the   
 includable method shown previously or use this one.  
 ]-->  
 <data:post.comments.id/>  
 <!-- [but you should use includable as they are cool :) ]--> 



 
گاهی اوقات ، هنگامی که شما سعی می کند که این عناصر داده را بطور مستقیم بکار ببرید ، به شما خطا می دهد . یا « شیء » /« بخش » (widget/section) کار نمی کند یا گاهی اوقات شبیه آن اتفاق می افتد . یک دلیلش این است که شما نمی توانید این « اصطلاحات » (expressions) را بطور مستقیم بکار بگیرید . شما باید از فضای اسمی اصطلاح ، استفاده کنید که در این باره در بخشهای قبل ، صحبت کردیم .

 
ادامه ی مطلب را در قسمت سوم بخوانید .

 
اگر هر گونه نظر تکمیلی یا اصلاحی دارید ، در بخش نظرات وارد کنید .

 

 

 

 

 
Free counter and web stats