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

View File

@ -23,7 +23,6 @@ require_once(INSTALLDIR.'/lib/personal.php');
class StreamAction extends PersonalAction {
function public_views_menu() {
$action = $this->trimmed('action');
@ -54,7 +53,7 @@ class StreamAction extends PersonalAction {
$user = common_current_user();
# XXX: RDFa
common_element_start('li', array('class' => 'notice_single',
common_element_start('li', array('class' => 'notice_single hentry',
'id' => 'notice-' . $notice->id));
if ($user) {
if ($user->hasFave($notice)) {
@ -63,10 +62,11 @@ class StreamAction extends PersonalAction {
common_favor_form($notice);
}
}
common_element_start('span', 'vcard author');
$avatar = $profile->getAvatar(AVATAR_STREAM_SIZE);
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),
'class' => 'avatar stream',
'class' => 'avatar stream photo',
'width' => AVATAR_STREAM_SIZE,
'height' => AVATAR_STREAM_SIZE,
'alt' =>
@ -74,10 +74,11 @@ class StreamAction extends PersonalAction {
$profile->nickname));
common_element_end('a');
common_element('a', array('href' => $profile->profileurl,
'class' => 'nickname'),
'class' => 'nickname fn url'),
$profile->nickname);
common_element_end('span');
# 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) {
common_raw($notice->rendered);
} else {
@ -93,7 +94,8 @@ class StreamAction extends PersonalAction {
$noticeurl = $notice->uri;
}
common_element_start('p', 'time');
common_element('a', array('class' => 'permalink',
common_element('a', array('class' => 'permalink published',
'rel' => 'bookmark',
'href' => $noticeurl,
'title' => common_exact_date($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);
$recipient = common_relative_profile($sender, common_canonical_nickname($nickname));
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 {
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;
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'));
common_element_end('li');
}
@ -1760,7 +1760,7 @@ function common_pagination($have_before, $have_after, $page, $action, $args=NULL
$pargs = array('page' => $page+1);
$newargs = ($args) ? array_merge($args,$pargs) : $pargs;
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 »'));
common_element_end('li');
}