better microformats from @singpolyma

darcs-hash:20081203035947-84dde-68ce5b3ba2b49bd76e9ef8572cea7857cd05a659.gz
This commit is contained in:
Evan Prodromou 2008-12-02 22:59:47 -05:00
parent e0995d2fb7
commit 4b586436c8
3 changed files with 41 additions and 42 deletions

View File

@ -72,11 +72,11 @@ class ShowstreamAction extends StreamAction {
$this->views_menu(); $this->views_menu();
$this->show_feeds_list(array(0=>array('href'=>common_local_url('userrss', array('nickname' => $user->nickname)), $this->show_feeds_list(array(0=>array('href'=>common_local_url('userrss', array('nickname' => $user->nickname)),
'type' => 'rss', 'type' => 'rss',
'version' => 'RSS 1.0', 'version' => 'RSS 1.0',
'item' => 'notices'), 'item' => 'notices'),
1=>array('href'=>common_local_url('usertimeline', array('nickname' => $user->nickname)), 1=>array('href'=>common_local_url('usertimeline', array('nickname' => $user->nickname)),
'type' => 'atom', 'type' => 'atom',
'version' => 'Atom 1.0', 'version' => 'Atom 1.0',
'item' => 'usertimeline'), 'item' => 'usertimeline'),
@ -87,20 +87,17 @@ class ShowstreamAction extends StreamAction {
'item' => 'foaf'))); 'item' => 'foaf')));
} }
function show_header($user) { function show_header($user) {
# Feeds # Feeds
common_element('link', array('rel' => 'alternate', common_element('link', array('rel' => 'alternate',
'href' => common_local_url('api', 'href' => common_local_url('api',
array('apiaction' => 'statuses', array('apiaction' => 'statuses',
'method' => 'user_timeline.rss', 'method' => 'user_timeline.rss',
'argument' => $user->nickname)), 'argument' => $user->nickname)),
'type' => 'application/rss+xml', 'type' => 'application/rss+xml',
'title' => sprintf(_('Notice feed for %s'), $user->nickname))); 'title' => sprintf(_('Notice feed for %s'), $user->nickname)));
common_element('link', array('rel' => 'alternate feed', common_element('link', array('rel' => 'alternate feed',
'href' => common_local_url('api', 'href' => common_local_url('api',
array('apiaction' => 'statuses', array('apiaction' => 'statuses',
'method' => 'user_timeline.atom', 'method' => 'user_timeline.atom',
'argument' => $user->nickname)), 'argument' => $user->nickname)),
@ -137,7 +134,7 @@ class ShowstreamAction extends StreamAction {
} }
# See https://wiki.mozilla.org/Microsummaries # See https://wiki.mozilla.org/Microsummaries
common_element('link', array('rel' => 'microsummary', common_element('link', array('rel' => 'microsummary',
'href' => common_local_url('microsummary', 'href' => common_local_url('microsummary',
array('nickname' => $profile->nickname)))); array('nickname' => $profile->nickname))));
@ -149,7 +146,7 @@ class ShowstreamAction extends StreamAction {
function show_profile($profile) { function show_profile($profile) {
common_element_start('div', array('id' => 'profile')); common_element_start('div', array('id' => 'profile', 'class' => 'vcard'));
$this->show_personal($profile); $this->show_personal($profile);
@ -167,7 +164,7 @@ class ShowstreamAction extends StreamAction {
$avatar = $profile->getAvatar(AVATAR_PROFILE_SIZE); $avatar = $profile->getAvatar(AVATAR_PROFILE_SIZE);
common_element_start('div', array('id' => 'profile_avatar')); common_element_start('div', array('id' => 'profile_avatar'));
common_element('img', array('src' => ($avatar) ? common_avatar_display_url($avatar) : common_default_avatar(AVATAR_PROFILE_SIZE), common_element('img', array('src' => ($avatar) ? common_avatar_display_url($avatar) : common_default_avatar(AVATAR_PROFILE_SIZE),
'class' => 'avatar profile', 'class' => 'avatar profile photo',
'width' => AVATAR_PROFILE_SIZE, 'width' => AVATAR_PROFILE_SIZE,
'height' => AVATAR_PROFILE_SIZE, 'height' => AVATAR_PROFILE_SIZE,
'alt' => $profile->nickname)); 'alt' => $profile->nickname));
@ -188,33 +185,32 @@ class ShowstreamAction extends StreamAction {
$this->show_remote_subscribe_link($profile); $this->show_remote_subscribe_link($profile);
} }
common_element_end('li'); common_element_end('li');
$user = User::staticGet('id', $profile->id); $user = User::staticGet('id', $profile->id);
common_profile_new_message_nudge($cur, $user, $profile); common_profile_new_message_nudge($cur, $user, $profile);
common_element_end('ul'); common_element_end('ul');
common_element_end('div'); common_element_end('div');
common_element_start('div', array('id' => 'profile_information')); common_element_start('div', array('id' => 'profile_information'));
if ($profile->fullname) { if ($profile->fullname) {
common_element('h1', NULL, $profile->fullname . ' (' . $profile->nickname . ')'); common_element('h1', array('class' => 'fn'), $profile->fullname . ' (' . $profile->nickname . ')');
} else { } else {
common_element('h1', NULL, $profile->nickname); common_element('h1', array('class' => 'fn nickname'), $profile->nickname);
} }
if ($profile->location) { if ($profile->location) {
common_element('p', 'location', $profile->location); common_element('p', 'location', $profile->location);
} }
if ($profile->bio) { if ($profile->bio) {
common_element('p', 'description', $profile->bio); common_element('p', 'description note', $profile->bio);
} }
if ($profile->homepage) { if ($profile->homepage) {
common_element_start('p', 'website'); common_element_start('p', 'website');
common_element('a', array('href' => $profile->homepage, common_element('a', array('href' => $profile->homepage,
'rel' => 'me'), 'rel' => 'me', 'class' => 'url'),
$profile->homepage); $profile->homepage);
common_element_end('p'); common_element_end('p');
} }
@ -252,7 +248,7 @@ class ShowstreamAction extends StreamAction {
$subs = DB_DataObject::factory('subscription'); $subs = DB_DataObject::factory('subscription');
$subs->subscriber = $profile->id; $subs->subscriber = $profile->id;
$subs->whereAdd('subscribed != ' . $profile->id); $subs->whereAdd('subscribed != ' . $profile->id);
$subs->orderBy('created DESC'); $subs->orderBy('created DESC');
# We ask for an extra one to know if we need to do another page # We ask for an extra one to know if we need to do another page
@ -282,19 +278,19 @@ class ShowstreamAction extends StreamAction {
common_log_db_error($subs, 'SELECT', __FILE__); common_log_db_error($subs, 'SELECT', __FILE__);
continue; continue;
} }
common_element_start('li'); common_element_start('li', 'vcard');
common_element_start('a', array('title' => ($other->fullname) ? common_element_start('a', array('title' => ($other->fullname) ?
$other->fullname : $other->fullname :
$other->nickname, $other->nickname,
'href' => $other->profileurl, 'href' => $other->profileurl,
'rel' => 'contact', 'rel' => 'contact',
'class' => 'subscription')); 'class' => 'subscription fn url'));
$avatar = $other->getAvatar(AVATAR_MINI_SIZE); $avatar = $other->getAvatar(AVATAR_MINI_SIZE);
common_element('img', array('src' => (($avatar) ? common_avatar_display_url($avatar) : common_default_avatar(AVATAR_MINI_SIZE)), common_element('img', array('src' => (($avatar) ? common_avatar_display_url($avatar) : common_default_avatar(AVATAR_MINI_SIZE)),
'width' => AVATAR_MINI_SIZE, 'width' => AVATAR_MINI_SIZE,
'height' => AVATAR_MINI_SIZE, 'height' => AVATAR_MINI_SIZE,
'class' => 'avatar mini', 'class' => 'avatar mini photo',
'alt' => ($other->fullname) ? 'alt' => ($other->fullname) ?
$other->fullname : $other->fullname :
$other->nickname)); $other->nickname));
@ -372,7 +368,7 @@ class ShowstreamAction extends StreamAction {
} }
common_element_end('ul'); common_element_end('ul');
common_element_end('dd'); common_element_end('dd');
common_element_end('dl'); common_element_end('dl');
common_element_end('div'); common_element_end('div');
@ -383,13 +379,13 @@ class ShowstreamAction extends StreamAction {
$page = ($this->arg('page')) ? ($this->arg('page')+0) : 1; $page = ($this->arg('page')) ? ($this->arg('page')+0) : 1;
$notice = $user->getNotices(($page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1); $notice = $user->getNotices(($page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1);
$cnt = 0; $cnt = 0;
if ($notice) { if ($notice) {
common_element_start('ul', array('id' => 'notices')); common_element_start('ul', array('id' => 'notices'));
while ($notice->fetch()) { while ($notice->fetch()) {
$cnt++; $cnt++;
if ($cnt > NOTICES_PER_PAGE) { if ($cnt > NOTICES_PER_PAGE) {
@ -400,7 +396,7 @@ class ShowstreamAction extends StreamAction {
common_element_end('ul'); common_element_end('ul');
} }
common_pagination($page>1, $cnt>NOTICES_PER_PAGE, $page, common_pagination($page>1, $cnt>NOTICES_PER_PAGE, $page,
'showstream', array('nickname' => $user->nickname)); 'showstream', array('nickname' => $user->nickname));
} }
@ -431,7 +427,7 @@ class ShowstreamAction extends StreamAction {
$user = common_current_user(); $user = common_current_user();
# XXX: RDFa # XXX: RDFa
common_element_start('li', array('class' => 'notice_single', common_element_start('li', array('class' => 'notice_single hentry',
'id' => 'notice-' . $notice->id)); 'id' => 'notice-' . $notice->id));
if ($user) { if ($user) {
if ($user->hasFave($notice)) { if ($user->hasFave($notice)) {
@ -442,7 +438,7 @@ class ShowstreamAction extends StreamAction {
} }
$noticeurl = common_local_url('shownotice', array('notice' => $notice->id)); $noticeurl = common_local_url('shownotice', array('notice' => $notice->id));
# FIXME: URL, image, video, audio # FIXME: URL, image, video, audio
common_element_start('p'); common_element_start('p', 'entry-title entry-content');
if ($notice->rendered) { if ($notice->rendered) {
common_raw($notice->rendered); common_raw($notice->rendered);
} else { } else {
@ -453,7 +449,8 @@ class ShowstreamAction extends StreamAction {
} }
common_element_end('p'); common_element_end('p');
common_element_start('p', array('class' => 'time')); common_element_start('p', array('class' => 'time'));
common_element('a', array('class' => 'permalink', common_element('a', array('class' => 'permalink published',
'rel' => 'bookmark',
'href' => $noticeurl, 'href' => $noticeurl,
'title' => common_exact_date($notice->created)), 'title' => common_exact_date($notice->created)),
common_date_string($notice->created)); common_date_string($notice->created));
@ -485,7 +482,7 @@ class ShowstreamAction extends StreamAction {
common_raw('×'); common_raw('×');
common_element_end('a'); common_element_end('a');
} }
common_element_end('p'); common_element_end('p');
common_element_end('li'); common_element_end('li');
} }

View File

@ -23,7 +23,6 @@ require_once(INSTALLDIR.'/lib/personal.php');
class StreamAction extends PersonalAction { class StreamAction extends PersonalAction {
function public_views_menu() { function public_views_menu() {
$action = $this->trimmed('action'); $action = $this->trimmed('action');
@ -54,7 +53,7 @@ class StreamAction extends PersonalAction {
$user = common_current_user(); $user = common_current_user();
# XXX: RDFa # XXX: RDFa
common_element_start('li', array('class' => 'notice_single', common_element_start('li', array('class' => 'notice_single hentry',
'id' => 'notice-' . $notice->id)); 'id' => 'notice-' . $notice->id));
if ($user) { if ($user) {
if ($user->hasFave($notice)) { if ($user->hasFave($notice)) {
@ -63,10 +62,11 @@ class StreamAction extends PersonalAction {
common_favor_form($notice); common_favor_form($notice);
} }
} }
common_element_start('span', 'vcard author');
$avatar = $profile->getAvatar(AVATAR_STREAM_SIZE); $avatar = $profile->getAvatar(AVATAR_STREAM_SIZE);
common_element_start('a', array('href' => $profile->profileurl)); common_element_start('a', array('href' => $profile->profileurl));
common_element('img', array('src' => ($avatar) ? common_avatar_display_url($avatar) : common_default_avatar(AVATAR_STREAM_SIZE), common_element('img', array('src' => ($avatar) ? common_avatar_display_url($avatar) : common_default_avatar(AVATAR_STREAM_SIZE),
'class' => 'avatar stream', 'class' => 'avatar stream photo',
'width' => AVATAR_STREAM_SIZE, 'width' => AVATAR_STREAM_SIZE,
'height' => AVATAR_STREAM_SIZE, 'height' => AVATAR_STREAM_SIZE,
'alt' => 'alt' =>
@ -74,10 +74,11 @@ class StreamAction extends PersonalAction {
$profile->nickname)); $profile->nickname));
common_element_end('a'); common_element_end('a');
common_element('a', array('href' => $profile->profileurl, common_element('a', array('href' => $profile->profileurl,
'class' => 'nickname'), 'class' => 'nickname fn url'),
$profile->nickname); $profile->nickname);
common_element_end('span');
# FIXME: URL, image, video, audio # FIXME: URL, image, video, audio
common_element_start('p', array('class' => 'content')); common_element_start('p', array('class' => 'content entry-title entry-content'));
if ($notice->rendered) { if ($notice->rendered) {
common_raw($notice->rendered); common_raw($notice->rendered);
} else { } else {
@ -93,7 +94,8 @@ class StreamAction extends PersonalAction {
$noticeurl = $notice->uri; $noticeurl = $notice->uri;
} }
common_element_start('p', 'time'); common_element_start('p', 'time');
common_element('a', array('class' => 'permalink', common_element('a', array('class' => 'permalink published',
'rel' => 'bookmark',
'href' => $noticeurl, 'href' => $noticeurl,
'title' => common_exact_date($notice->created)), 'title' => common_exact_date($notice->created)),
common_date_string($notice->created)); common_date_string($notice->created));

View File

@ -926,9 +926,9 @@ function common_at_link($sender_id, $nickname) {
$sender = Profile::staticGet($sender_id); $sender = Profile::staticGet($sender_id);
$recipient = common_relative_profile($sender, common_canonical_nickname($nickname)); $recipient = common_relative_profile($sender, common_canonical_nickname($nickname));
if ($recipient) { if ($recipient) {
return '<a href="'.htmlspecialchars($recipient->profileurl).'" class="atlink">'.$nickname.'</a>'; return '<span class="vcard"><a class="fn nickname url" rel="reply" href="'.htmlspecialchars($recipient->profileurl).'" class="atlink">'.$nickname.'</a></span>';
} else { } else {
return $nickname; return '<span class="vcard"> <span class="fn nickname">'.$nickname.'</span> </span>';
} }
} }
@ -1751,7 +1751,7 @@ function common_pagination($have_before, $have_after, $page, $action, $args=NULL
$newargs = ($args) ? array_merge($args,$pargs) : $pargs; $newargs = ($args) ? array_merge($args,$pargs) : $pargs;
common_element_start('li', 'before'); common_element_start('li', 'before');
common_element('a', array('href' => common_local_url($action, $newargs)), common_element('a', array('href' => common_local_url($action, $newargs), 'rel' => 'prev'),
_('« After')); _('« After'));
common_element_end('li'); common_element_end('li');
} }
@ -1760,7 +1760,7 @@ function common_pagination($have_before, $have_after, $page, $action, $args=NULL
$pargs = array('page' => $page+1); $pargs = array('page' => $page+1);
$newargs = ($args) ? array_merge($args,$pargs) : $pargs; $newargs = ($args) ? array_merge($args,$pargs) : $pargs;
common_element_start('li', 'after'); common_element_start('li', 'after');
common_element('a', array('href' => common_local_url($action, $newargs)), common_element('a', array('href' => common_local_url($action, $newargs), 'rel' => 'next'),
_('Before »')); _('Before »'));
common_element_end('li'); common_element_end('li');
} }