راهنمای HTML : استفاده از میکروفرمتها در HTML
میکروفرمتها استانداردهایی هستند که برای جاسازی معناشناسی و دادههای ساختاریافته در HTML استفاده میشوند و یک API برای استفاده توسط برنامههای وب اجتماعی، موتورهای جستجو، تجمیعکنندهها و سایر ابزارها فراهم میکنند. این الگوهای مینیمال HTML برای نشانهگذاری موجودیتهایی استفاده میشوند که از اطلاعات اساسی تا اطلاعات خاص دامنه، مانند افراد، سازمانها، رویدادها و مکانها را شامل میشوند.
- برای ایجاد یک شیء میکروفرمت، از نام کلاسهای در ویژگی کلاس استفاده میشود.
- برای افزودن یک ویژگی به یک شیء، از نام کلاسهای در یکی از فرزندان شیء استفاده میشود.
میکروفرمتها از واژگان پشتیبانی برای توصیف اشیاء و از جفتهای نام-مقدار برای اختصاص مقادیر به ویژگیهای آنها استفاده میکنند. ویژگیها در ویژگیهای کلاس حمل میشوند که میتوانند به هر عنصر HTML اضافه شوند، در حالی که مقادیر داده از محتوای عنصر HTML و ویژگیهای معنایی استفاده مجدد میکنند.
میکروفرمتهای۲ (که گاهی اوقات به عنوان mf2 شناخته میشود) بهروزرسانی برای میکروفرمتها است که روشی برای حاشیهنویسی نحو ساختاریافته HTML و واژگان نسبت به رویکردهای قبلی استفاده از RDFa و میکرودیتا ارائه میدهد. این رویکردهای قبلی نیاز به یادگیری ویژگیهای جدید دارند.
برای اکثر زبانها برای میکروفرمتهای۲، کتابخانههای تجزیه متنباز وجود دارد.
نویسنده یک صفحه وب میتواند میکروفرمتها را به HTML خود اضافه کند. برای مثال، اگر بخواهد خود را معرفی کند، میتواند از یک h-card مانند زیر استفاده کند:
وقتی یک تجزیهگر با این دادهها مواجه میشود، متوجه میشود که این صفحه حاوی یک «کارت» است که شخص یا سازمانی به نام آلیس بلاگر را با آدرس اینترنتی توصیف میکند. تجزیهگر این دادهها را از طریق APIهایی که میتوانند برای برنامههای مختلف استفاده شوند، در دسترس قرار میدهد. به عنوان مثال، یک برنامه میتواند صفحهای را برای یک کارت h اسکن کند تا به عنوان اطلاعات پروفایل کسی که در یک سرویس ثبتنام کرده است، استفاده شود.
همانطور که در این مثال مشاهده میشود، برخی از الگوهای نشانهگذاری فقط به یک نام کلاس ریشه میکروفرمت نیاز دارند که تجزیهگرها از آن برای یافتن چند ویژگی عمومی مانند نام، آدرس اینترنتی، عکس استفاده میکنند.
موارد استفاده از میکروفرمتها
میکروفرمتها موارد استفاده متعددی دارند. اول، استاندارد وبمنشن از میکروفرمتها برای ارائه روشی استفاده میکند که در آن پیامها و نظرات میتوانند از یک سایت به سایت دیگر ارسال شوند. مشخصات وبمنشن ویژگیهای خاصی را تعریف میکند که سایتها ممکن است منتشر و مصرف کنند تا روشی غنی و سازگار برای انتشار پیامها و نظرات ایجاد شود. میکروفرمتها همچنین میتوانند با وبمنشنها برای فعال کردن ارسال واکنشهای اجتماعی مانند لایک، بازنشر و بوکمارک از یک سایت به سایت دیگر استفاده شوند.
میکروفرمتها همچنین امکان انتشار آسان در سایتها را فراهم میکنند. یک جمعکننده میتواند یک صفحه را با میکروفرمتهای منتشر شده تجزیه کند تا اطلاعاتی مانند عنوان پست، متن پست و نویسنده پست را جستجو کند. سپس این جمعکننده میتواند از اطلاعات معنایی جمعآوریشده برای ارائه نتیجه در سایت خود استفاده کند. به عنوان مثال، جمعکنندههای اخبار و انجمنهای ارسال پست میتوانند ارسالها را تسهیل کنند و از میکروفرمتها برای استخراج محتوای مرتبط از یک صفحه استفاده کنند. علاوه بر این، یک وبسایت میتواند از میکروفرمتها برای ارسال درخواستهای ساختهشده به اشخاص ثالث برای انتشار محتوا، مانند شبکههای اجتماعی، استفاده کند.
همه موتورهای جستجوی اصلی از خواندن و تفسیر میکروفرمتها پشتیبانی میکنند. موتورهای جستجو از دسترسی مستقیم به این دادههای ساختاریافته سود زیادی میبرند زیرا به آنها امکان میدهد اطلاعات موجود در صفحات وب را درک کنند. با استفاده از این اطلاعات، موتورهای جستجو میتوانند نتایج مرتبطتری را به کاربران ارائه دهند. برخی از موتورهای جستجو ممکن است بر اساس دادههای ارائه شده در میکروفرمتها، قطعه کدهای ویژهای مانند رتبهبندی ستارهای را در صفحه نتایج جستجو ارائه دهند.
علاوه بر قابل خواندن توسط ماشین، میکروفرمتها به گونهای طراحی شدهاند که به راحتی توسط انسان قابل خواندن باشند. این رویکرد، درک و نگهداری دادههای میکروفرمتها را برای افراد آسان میکند.
همه ریزقالبها از یک ریشه و مجموعهای از ویژگیها تشکیل شدهاند. ویژگیها همگی اختیاری و بالقوه چندمقداری هستند - برنامههایی که به یک مقدار واحد نیاز دارند، ممکن است از اولین نمونه یک ویژگی استفاده کنند. دادههای سلسله مراتبی با ریزقالبهای تو در تو، معمولاً به عنوان مقادیر ویژگی، نمایش داده میشوند.
نام همه کلاسهای ریزقالبها از پیشوندها استفاده میکنند. پیشوندها از نظر نحوی مستقل از واژگان هستند که به طور جداگانه توسعه داده میشوند.
- برای نام کلاسهای ریشه، به عنوان مثال، و بسیاری دیگر. این کلاسهای ریشه سطح بالا معمولاً یک نوع و واژگان مورد انتظار مربوط به ویژگیها را نشان میدهند. به عنوان مثال:
h-card یک شخص یا سازمان را توصیف میکند
h-entry محتوای آنلاین اپیزودیک یا تاریخدار مانند یک پست وبلاگ را توصیف میکند
h-feed یک جریان یا فید پستها را توصیف میکند
شما میتوانید واژگان بسیار بیشتری را در ویکی microformats2 پیدا کنید.
- برای ویژگیهای ساده (متن)، مانند
تجزیه متن ساده عمومی، متن عنصر به طور کلی. در عناصر HTML خاص، ابتدا از ویژگیهای خاص استفاده کنید، مانند .
- برای ویژگیهای URL، مانند ریزقالب h-card نشان دهنده یک شخص یا سازمان است.
مقدار هر ویژگی در HTML با استفاده از ویژگی کلاسی که هر عنصر میتواند داشته باشد، تعریف میشود.
| ویژگی | توضیحات |
|---|
| p-name | نام کامل/فرمتبندیشدهی شخص یا سازمان. |
| u-email | آدرس ایمیل |
| u-photo | عکسی از شخص یا سازمان |
| u-url | صفحه اصلی یا آدرس اینترنتی دیگری که نمایانگر شخص یا سازمان است |
| u-uid | pشناسه منحصر به فرد جهانی، ترجیحاً URL متعارف |
| p-street-address | نام و شماره خیابان
|
| p-locality | شهر/شهرستان/روستا |
| p-country-name | نام کشور |
در این مثال، یک h-card هم برای یک شخص و هم برای سازمانی که نماینده آن است، مشخص شده است. وابستگی شخص به سازمان مرتبط با استفاده از ویژگی p-org مشخص میشود.
توجه: h-card تو در تو، ویژگیهای 'name' و 'url' را به طور ضمنی دارد، درست مانند هر h-card دیگری که فقط از کلاس ریشه و نام استفاده میکند و در قرار میگیرد.
ریزقالب h-entry نشاندهنده محتوای اپیزودیک یا تاریخدار در وب است. h-entry اغلب با محتوایی که قرار است به صورت سندیکایی منتشر شود، مانند پستهای وبلاگ و یادداشتهای کوتاه، استفاده میشود.
مثال h-entry به عنوان یک پست وبلاگ:
| ویژگی | توضیحات |
|---|
| p-name | نام/عنوان مطلب |
| p-author | چه کسی مطلب را نوشته است، کارت h که به صورت اختیاری در آن تعبیه شده است |
| dt-published | زمان انتشار مطلب |
| p-summary | خلاصه کوتاه مطلب |
| e-content | محتوای کامل مطلب |
مثال h-entry پاسخ تجزیهشده
h-feed، جریانی یا فیدی از پستهای h-entry است، مانند پستهای کامل در صفحه اصلی یا صفحات بایگانی، یا خلاصهها یا فهرستهای مختصر دیگر از پستها.
| ویژگی | توضیحات |
|---|
| p-name | نام فید |
| p-author | نویسنده فید، به صورت اختیاری یک کارت h جاسازی کنید |
h-event برای رویدادهای وب است. h-event اغلب با فهرست رویدادها و صفحات رویدادهای جداگانه استفاده میشود.
| ویژگی | توضیحات |
|---|
| p-name | نام رویداد (یا عنوان) |
| p-summary | خلاصهای کوتاه از رویداد |
| dt-start | تاریخ و زمان شروع رویداد |
| dt-end | تاریخ و زمان پایان رویداد |
| p-location | محل وقوع رویداد، کارت h که به صورت اختیاری در آن تعبیه شده است |
مثالهایی از ویژگیهای rel در میکروفرمتها
برخی از ریزقالبها وجود دارند که با استفاده از خاصیت خاص به یک صفحه اعمال میشوند. این ریزقالبها رابطهای بین یک سند فعلی و یک سند لینکشده را توصیف میکنند. برای فهرست کامل این موارد، به خاصیت rel در ویکی ریزقالبها مراجعه کنید.
این ویژگی بیان میکند که سند لینکشده، نشان دهندهی نویسندهی صفحهی فعلی است.
این ویژگی بیان میکند که سند پیوند داده شده حاوی مجوزی است که صفحه فعلی تحت آن منتشر شده است.
این ویژگی بیان میکند که الگوریتمهای رتبهبندی موتور جستجو که ممکن است از صفحه فعلی مشتق شده باشند، نباید به سند لینکشده هیچ وزنی بدهند. این امر برای جلوگیری از این مفید است که الگوریتمهای نمودار لینک، پس از مشاهده لینک به یک سند، وزن بیشتری به آن صفحه نسبت به حالت عادی بدهند.
تجزیه ویژه: ویژگیهای عنصر
و غیره بر روی محتوای عنصر.
-
برای ویژگیهای تاریخ-زمان، مانند
تجزیه ویژه: ویژگی تاریخ-زمان عنصر زمان، تجزیه
و تجزیه جداگانه date-time value برای خوانایی.
-
برای ویژگیهای درخت عنصر که در آن کل سلسله مراتب عنصر موجود، مقدار است، مانند
. پیشوند
را میتوان به صورت "element tree"، "embedded markup" یا "encapsulated markup" نیز به خاطر سپرد.