]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Initial move towards microformats2
authorMikael Nordfeldth <mmn@hethane.se>
Sat, 21 Jun 2014 19:01:17 +0000 (21:01 +0200)
committerMikael Nordfeldth <mmn@hethane.se>
Sun, 22 Jun 2014 15:11:04 +0000 (17:11 +0200)
No validation has been attempted yet. Lots of changes left. This
is visibly not (very) different from the previous CSS layout. But
some simplifications have been made.

Might cause issues with local changes to themes and CSS. Also maybe
javascript which depends on certain legacy microformats elements.

The move to microformats2 is motivated by the announcement that all
microformats should be migrated to version 2, as of 2014-06-20 at:
http://microformats.org/2014/06/20/microformats-org-turns-9-upgrade-to-microformats2

56 files changed:
actions/doc.php
actions/noticesearch.php
actions/register.php
actions/showapplication.php
actions/shownotice.php
actions/showprofiletag.php
actions/tagprofile.php
actions/version.php
classes/Notice.php
install.php
js/util.js
lib/action.php
lib/applicationlist.php
lib/attachment.php
lib/attachmentlist.php
lib/attachmentlistitem.php
lib/dofollowlistitem.php
lib/grouplist.php
lib/groupminilist.php
lib/groupsection.php
lib/inlineattachmentlist.php
lib/messagelistitem.php
lib/noticelistitem.php
lib/noticesection.php
lib/peopletaglist.php
lib/profilelist.php
lib/profileminilist.php
lib/profilesection.php
lib/threadednoticelist.php
lib/util.php
plugins/Bookmark/BookmarkPlugin.php
plugins/Bookmark/css/bookmark.css
plugins/Bookmark/lib/bookmarklistitem.php
plugins/ConversationTree/lib/conversationtree.php
plugins/Directory/lib/sortablegrouplist.php
plugins/Directory/lib/sortablesubscriptionlist.php
plugins/Event/css/event.css
plugins/Event/lib/eventlistitem.php
plugins/GNUsocialProfileExtensions/lib/noticetree.php
plugins/GroupPrivateMessage/lib/groupmessagelistitem.php
plugins/Mapstraction/usermap.js
plugins/MobileProfile/MobileProfilePlugin.php
plugins/MobileProfile/mp-screen.css
plugins/ModPlus/ModPlusPlugin.php
plugins/ModPlus/modplus.css
plugins/ModPlus/modplus.js
plugins/NoticeTitle/NoticeTitlePlugin.php
plugins/Oembed/OembedPlugin.php
plugins/Poll/PollPlugin.php
plugins/QnA/QnAPlugin.php
plugins/QnA/actions/qnanewanswer.php
plugins/QnA/js/qna.js
plugins/Realtime/js/realtimeupdate.js
theme/base/css/display.css
theme/neo/css/display.css
theme/neo/css/rtl.css

index c26b29090281dcead91b440f4ec3511956daaa17..6db3830ce1bcf3477e12a27c5823e503924acbcc 100644 (file)
@@ -96,11 +96,11 @@ class DocAction extends Action
      */
     function showContentBlock()
     {
-        $this->elementStart('div', array('id' => 'content', 'class' => 'hentry'));
+        $this->elementStart('div', array('id' => 'content', 'class' => 'h-entry'));
         $this->showPageTitle();
         $this->showPageNoticeBlock();
         $this->elementStart('div', array('id' => 'content_inner',
-                                         'class' => 'entry-content'));
+                                         'class' => 'e-content'));
         // show the actual content (forms, lists, whatever)
         $this->showContent();
         $this->elementEnd('div');
index d4fc884f4bb2865bb6707222185476e1570e30e9..ee7bb86f40a28f7fac5aba0dc8a848a4268c68d8 100644 (file)
@@ -202,7 +202,7 @@ class SearchNoticeListItem extends NoticeListItem {
     function showContent()
     {
         // FIXME: URL, image, video, audio
-        $this->out->elementStart('p', array('class' => 'entry-content'));
+        $this->out->elementStart('p', array('class' => 'e-content'));
         if ($this->notice->rendered) {
             $this->out->raw($this->highlight($this->notice->rendered, $this->terms));
         } else {
index cf2c049e73ed86580a9801d3a11fdce421f173f2..82fb9fc5736a97fa16c9be69bbdfb236e3303bee 100644 (file)
@@ -293,14 +293,14 @@ class RegisterAction extends Action
         }
     }
 
-    // overrided to add hentry, and content-inner class
+    // overrided to add h-entry, and content-inner class
     function showContentBlock()
     {
-        $this->elementStart('div', array('id' => 'content', 'class' => 'hentry'));
+        $this->elementStart('div', array('id' => 'content', 'class' => 'h-entry'));
         $this->showPageTitle();
         $this->showPageNoticeBlock();
         $this->elementStart('div', array('id' => 'content_inner',
-                                         'class' => 'entry-content'));
+                                         'class' => 'e-content'));
         // show the actual content (forms, lists, whatever)
         $this->showContent();
         $this->elementEnd('div');
index b44dd5746a09e49f6bfbd174f45ae04af9302e09..d8ac293d404138719d69e6f79bfd0c93ac44d218 100644 (file)
@@ -147,20 +147,20 @@ class ShowApplicationAction extends Action
 
         $consumer = $this->application->getConsumer();
 
-        $this->elementStart('div', 'entity_profile vcard');
+        $this->elementStart('div', 'entity_profile h-card');
         // TRANS: Header on the OAuth application page.
         $this->element('h2', null, _('Application profile'));
         if (!empty($this->application->icon)) {
             $this->element('img', array('src' => $this->application->icon,
-                                        'class' => 'photo logo entity_depiction'));
+                                        'class' => 'u-photo logo entity_depiction'));
         }
 
         $this->element('a', array('href' =>  $this->application->source_url,
-                                  'class' => 'url fn entity_fn'),
+                                  'class' => 'u-url p-name entity_fn'),
                             $this->application->name);
 
         $this->element('a', array('href' =>  $this->application->homepage,
-                                  'class' => 'url entity_org'),
+                                  'class' => 'u-url entity_org'),
                             $this->application->organization);
 
         $this->element('div',
index 5e2be9f9d2b2ff48c685026779178a76e3b6e157..1d01244cc145b845efb01a9ebe3e1f7194291596 100644 (file)
@@ -40,7 +40,7 @@ require_once INSTALLDIR.'/lib/noticelist.php';
  * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
  * @link     http://status.net/
  */
-class ShownoticeAction extends Action
+class ShownoticeAction extends ManagedAction
 {
     /**
      * Notice object to show
@@ -184,33 +184,7 @@ class ShownoticeAction extends Action
      */
     function title()
     {
-        $base = $this->profile->getFancyName();
-
-        // TRANS: Title of the page that shows a notice.
-        // TRANS: %1$s is a user name, %2$s is the notice creation date/time.
-        return sprintf(_('%1$s\'s status on %2$s'),
-                       $base,
-                       common_exact_date($this->notice->created));
-    }
-
-    /**
-     * Handle input
-     *
-     * Only handles get, so just show the page.
-     *
-     * @param array $args $_REQUEST data (unused)
-     *
-     * @return void
-     */
-    protected function handle()
-    {
-        parent::handle();
-
-        if (StatusNet::isAjax()) {
-            $this->showAjax();
-        } else {
-            $this->showPage();
-        }
+        return $this->notice->getTitle();
     }
 
     /**
@@ -223,23 +197,9 @@ class ShownoticeAction extends Action
     function showContent()
     {
         $this->elementStart('ol', array('class' => 'notices xoxo'));
-        $nli = new SingleNoticeItem($this->notice, $this);
-        $nli->show();
-        $this->elementEnd('ol');
-    }
-
-    function showAjax()
-    {
-        $this->startHTML('text/xml;charset=utf-8');
-        $this->elementStart('head');
-        // TRANS: Title for page that shows a notice.
-        $this->element('title', null, _m('TITLE','Notice'));
-        $this->elementEnd('head');
-        $this->elementStart('body');
         $nli = new NoticeListItem($this->notice, $this);
         $nli->show();
-        $this->elementEnd('body');
-        $this->endHTML();
+        $this->elementEnd('ol');
     }
 
     /**
@@ -270,7 +230,7 @@ class ShownoticeAction extends Action
     {
         $user = User::getKV($this->profile->id);
 
-        if (!$user) {
+        if (!$user instanceof User) {
             return;
         }
 
@@ -289,12 +249,3 @@ class ShownoticeAction extends Action
                                      'content' => $this->notice->content));
     }
 }
-
-// @todo FIXME: Class documentation missing.
-class SingleNoticeItem extends DoFollowListItem
-{
-    function avatarSize()
-    {
-        return AVATAR_STREAM_SIZE;
-    }
-}
index 6b1bc5e5b5dd289b5dd75bb76d210f3dab536fd4..44ded832b826e1cb8b61f044d8c6f573b4fb2ea1 100644 (file)
@@ -364,7 +364,7 @@ class Peopletag extends PeopletagListItem
     function showStart()
     {
         $mode = $this->peopletag->private ? 'private' : 'public';
-        $this->out->elementStart('div', array('class' => 'hentry peopletag peopletag-profile mode-'.$mode,
+        $this->out->elementStart('div', array('class' => 'h-entry peopletag peopletag-profile mode-'.$mode,
                                              'id' => 'peopletag-' . $this->peopletag->id));
     }
 
index 7538d7c8b6d62bdc0d9b5d2341f1eaf5e9bb32c5..a79ebf1d2563822ee9bec9d1b17b3fa01ac770e9 100644 (file)
@@ -101,7 +101,7 @@ class TagprofileAction extends Action
     function showContent()
     {
         if (Event::handle('StartShowTagProfileForm', array($this, $this->profile)) && $this->profile) {
-            $this->elementStart('div', 'entity_profile vcard author');
+            $this->elementStart('div', 'entity_profile h-card p-author');
             // TRANS: Header in list form.
             $this->element('h2', null, _('User profile'));
 
@@ -118,7 +118,7 @@ class TagprofileAction extends Action
                                       'class' => 'entity_nickname nickname'),
                            $this->profile->nickname);
             if ($this->profile->fullname) {
-                $this->element('div', 'fn entity_fn', $this->profile->fullname);
+                $this->element('div', 'p-name entity_fn', $this->profile->fullname);
             }
 
             if ($this->profile->location) {
@@ -128,7 +128,7 @@ class TagprofileAction extends Action
             if ($this->profile->homepage) {
                 $this->element('a', array('href' => $this->profile->homepage,
                                           'rel' => 'me',
-                                          'class' => 'url entity_url'),
+                                          'class' => 'u-url entity_url'),
                                $this->profile->homepage);
             }
 
index f0f266183168278bd214d0fcdafa55f34687115f..97115d23cd364089fadffe1bd270adcde5c5286a 100644 (file)
@@ -108,17 +108,17 @@ class VersionAction extends Action
 
 
     /*
-    * Override to add hentry, and content-inner classes
+    * Override to add h-entry, and content-inner classes
     *
     * @return void
     */
     function showContentBlock()
      {
-         $this->elementStart('div', array('id' => 'content', 'class' => 'hentry'));
+         $this->elementStart('div', array('id' => 'content', 'class' => 'h-entry'));
          $this->showPageTitle();
          $this->showPageNoticeBlock();
          $this->elementStart('div', array('id' => 'content_inner',
-                                          'class' => 'entry-content'));
+                                          'class' => 'e-content'));
          // show the actual content (forms, lists, whatever)
          $this->showContent();
          $this->elementEnd('div');
index 917095acab075b383e6a754aba3d9c0f1e5ea010..9cf676a664e3a15e10c09b9b00b3b006e74b64f6 100644 (file)
@@ -232,6 +232,19 @@ class Notice extends Managed_DataObject
         return common_local_url('shownotice', array('notice' => $this->id), null, null, false);
     }
 
+    public function getTitle()
+    {
+        $title = null;
+        if (Event::handle('GetNoticeTitle', array($this, &$title))) {
+            // TRANS: Title of a notice posted without a title value.
+            // TRANS: %1$s is a user name, %2$s is the notice creation date/time.
+            $title = sprintf(_('%1$s\'s status on %2$s'),
+                             $this->getProfile()->getFancyName(),
+                             common_exact_date($this->created));
+        }
+        return $title;
+    }
+
     /*
      * Get the original representation URL of this notice.
      */
index a105e2e8c1cd3822743fc99823e9a68936aecdce..d72cf69b07b68dd1429755a73ad6fff4ee2b2d25 100644 (file)
@@ -376,19 +376,16 @@ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
         <link rel="stylesheet" type="text/css" href="theme/base/css/display.css" media="screen, projection, tv"/>
         <link rel="stylesheet" type="text/css" href="theme/neo/css/display.css" media="screen, projection, tv"/>
         <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
-        <!--[if IE]><link rel="stylesheet" type="text/css" href="theme/base/css/ie.css" /><![endif]-->
-        <!--[if lte IE 6]><link rel="stylesheet" type="text/css" theme/base/css/ie6.css" /><![endif]-->
-        <!--[if lte IE 7]><link rel="stylesheet" type="text/css" theme/base/css/ie7.css" /><![endif]-->
         <script src="js/extlib/jquery.js"></script>
         <script src="js/install.js"></script>
     </head>
     <body id="install">
         <div id="wrap">
             <div id="header">
-                <address id="site_contact" class="vcard">
-                    <a class="url home bookmark" href=".">
-                        <img class="logo photo" src="theme/neo/logo.png" alt="GNU social"/>
-                        <span class="fn org">GNU social</span>
+                <address id="site_contact" class="h-card">
+                    <a class="u-url p-name home bookmark org" href=".">
+                        <img class="logo u-photo" src="theme/neo/logo.png" alt="GNU social"/>
+                        GNU social
                     </a>
                 </address>
                 <div id="site_nav_global_primary"></div>
index c3ca213f3a4287a103c4baa9e63b73605cee586a..c1a3b771537949dfb9d229b3ea455bd0d88400c9 100644 (file)
@@ -863,7 +863,7 @@ var SN = { // StatusNet
                     var m = $(this);
                     m.addClass(SN.C.S.Processing);
                     $.get(m.attr('href'), {ajax: 1}, function (data) {
-                        m.parent('.entry-content').html($(data).find('#attachment_view .entry-content').html());
+                        m.parent('.e-content').html($(data).find('#attachment_view .e-content').html());
                     });
 
                     return false;
@@ -1361,7 +1361,7 @@ var SN = { // StatusNet
 
             var profileLink = $('#nav_profile a').attr('href');
             if (profileLink) {
-                var authorUrl = $(notice).find('.vcard.author a.url').attr('href');
+                var authorUrl = $(notice).find('.h-card.u-url').attr('href');
                 if (authorUrl == profileLink) {
                     if (action == 'all' || action == 'showstream') {
                         // Posts always show on your own friends and profile streams.
index 1fcc9d6925126469e92d23c7465579d7e0596c77..518ab3fe8af371817a491cfc9331848500c0f559 100644 (file)
@@ -582,8 +582,7 @@ class Action extends HTMLOutputter // lawsuit
      */
     function showLogo()
     {
-        $this->elementStart('address', array('id' => 'site_contact',
-                                             'class' => 'vcard'));
+        $this->elementStart('address', array('id' => 'site_contact', 'class' => 'h-card'));
         if (Event::handle('StartAddressData', array($this))) {
             if (common_config('singleuser', 'enabled')) {
                 $user = User::singleUser();
@@ -596,7 +595,7 @@ class Action extends HTMLOutputter // lawsuit
                 $url = common_local_url('public');
             }
 
-            $this->elementStart('a', array('class' => 'url home bookmark',
+            $this->elementStart('a', array('class' => 'home bookmark',
                                            'href' => $url));
 
             if (StatusNet::isHTTPS()) {
@@ -622,13 +621,11 @@ class Action extends HTMLOutputter // lawsuit
             }
 
             if (!empty($logoUrl)) {
-                $this->element('img', array('class' => 'logo photo',
+                $this->element('img', array('class' => 'logo u-photo p-name',
                                             'src' => $logoUrl,
                                             'alt' => common_config('site', 'name')));
             }
 
-            $this->text(' ');
-            $this->element('span', array('class' => 'fn org'), common_config('site', 'name'));
             $this->elementEnd('a');
 
             Event::handle('EndAddressData', array($this));
index ee968590e80cd0967d8953da02d15448dff842cd..d0c9256df714ed39763075d061b38542b4f79677 100644 (file)
@@ -87,50 +87,26 @@ class ApplicationList extends Widget
     {
         $user = common_current_user();
 
-        $this->out->elementStart(
-            'li',
-            array(
-                'class' => 'application',
-                'id'    => 'oauthclient-' . $this->application->id
-            )
-        );
+        $this->out->elementStart('li', array('class' => 'application h-entry',
+                                             'id'    => 'oauthclient-' . $this->application->id));
 
-        $this->out->elementStart('span', 'vcard author');
-
-        $this->out->elementStart(
-            'a',
-            array(
-                'href' => common_local_url(
-                    'showapplication',
-                    array('id' => $this->application->id)),
-                    'class' => 'url'
-            )
-        );
+        $this->out->elementStart('a', array('href' => common_local_url('showapplication',
+                                                                       array('id' => $this->application->id)),
+                                            'class' => 'h-card'));
 
         if (!empty($this->application->icon)) {
-            $this->out->element(
-                'img',
-                array(
-                    'src' => $this->application->icon,
-                    'class' => 'photo avatar'
-                )
-            );
+            $this->out->element('img', array('src' => $this->application->icon,
+                                             'class' => 'avatar u-photo'));
         }
 
-        $this->out->element('span', 'fn', $this->application->name);
+        $this->out->text($this->application->name);
         $this->out->elementEnd('a');
-        $this->out->elementEnd('span');
 
         $this->out->raw(' by ');
 
-        $this->out->element(
-            'a',
-            array(
-                'href' => $this->application->homepage,
-                'class' => 'url'
-            ),
-            $this->application->organization
-        );
+        $this->out->element('a', array('href' => $this->application->homepage,
+                                       'class' => 'u-url'),
+                            $this->application->organization);
 
         $this->out->element('p', 'note', $this->application->description);
         $this->out->elementEnd('li');
@@ -204,44 +180,23 @@ class ConnectedAppsList extends Widget
     {
         $app = Oauth_application::getKV('id', $this->connection->application_id);
 
-        $this->out->elementStart(
-            'li',
-            array(
-                'class' => 'application',
-                'id'    => 'oauthclient-' . $app->id
-            )
-        );
-
-        $this->out->elementStart('span', 'vcard author');
+        $this->out->elementStart('li', array('class' => 'application h-entry',
+                                             'id'    => 'oauthclient-' . $app->id));
 
-        $this->out->elementStart(
-            'a',
-            array(
-                'href' => $app->source_url,
-                'class' => 'url'
-            )
-        );
+        $this->out->elementStart('a', array('href' => $app->source_url,
+                                            'class' => 'h-card p-name'));
 
         if (!empty($app->icon)) {
-            $this->out->element(
-                'img',
-                array(
-                    'src' => $app->icon,
-                    'class' => 'photo avatar'
-                )
-            );
+            $this->out->element('img', array('src' => $app->icon,
+                                             'class' => 'avatar u-photo'));
         }
         if ($app->name != 'anonymous') {
-            $this->out->element('span', 'fn', $app->name);
-        }
-        $this->out->elementEnd('a');
-
-        if ($app->name == 'anonymous') {
+            $this->out->text($app->name);
+        } else {
             // TRANS: Name for an anonymous application in application list.
-            $this->out->element('span', 'fn', _('Unknown application'));
+            $this->out->element('span', 'p-name', _('Unknown application'));
         }
-
-        $this->out->elementEnd('span');
+        $this->out->elementEnd('a');
 
         if ($app->name != 'anonymous') {
             // @todo FIXME: i18n trouble.
@@ -249,14 +204,9 @@ class ConnectedAppsList extends Widget
             // TRANS: Before this message the application name is put, behind it the organisation that manages it.
             $this->out->raw(_(' by '));
 
-            $this->out->element(
-                'a',
-                array(
-                    'href' => $app->homepage,
-                    'class' => 'url'
-                ),
-                $app->organization
-            );
+            $this->out->element('a', array('href' => $app->homepage,
+                                           'class' => 'h-card'),
+                                $app->organization);
         }
 
         // TRANS: Application access type
index c7aceed218009e05e8808ef995b443143c132039..813b9b4eff2b36dd3610733d7e19cf1a62067ec9 100644 (file)
@@ -38,12 +38,12 @@ class Attachment extends AttachmentListItem
     function showLink() {
         if (Event::handle('StartShowAttachmentLink', array($this->out, $this->attachment))) {
             $this->out->elementStart('div', array('id' => 'attachment_view',
-                                                  'class' => 'hentry'));
+                                                  'class' => 'h-entry'));
             $this->out->elementStart('div', 'entry-title');
             $this->out->element('a', $this->linkAttr(), _('Download link'));
             $this->out->elementEnd('div');
 
-            $this->out->elementStart('div', 'entry-content');
+            $this->out->elementStart('div', 'e-content');
             $this->showRepresentation();
             $this->out->elementEnd('div');
             Event::handle('EndShowAttachmentLink', array($this->out, $this->attachment));
index 35584912787615c74a12dcf9d08ba1b678516eab..6609cb40daecc66c64492d02bcbf7338b3772d4d 100644 (file)
@@ -90,7 +90,7 @@ class AttachmentList extends Widget
 
     function showListStart()
     {
-        $this->out->elementStart('ol', array('class' => 'attachments entry-content'));
+        $this->out->elementStart('ol', array('class' => 'attachments'));
     }
 
     function showListEnd()
index 320218b1a307b9cbd5c14af3e6f04cf5ec16ef34..f5cc30e5254e7a2592796a6736713c827633229b 100644 (file)
@@ -114,9 +114,9 @@ class AttachmentListItem extends Widget
                 case 'image/jpeg':
                     try {
                         $thumb = $this->attachment->getThumbnail();
-                        $this->out->element('img', array('src' => $thumb->getUrl(), 'alt' => ''));
+                        $this->out->element('img', array('class'=>'u-photo', 'src' => $thumb->getUrl(), 'alt' => $e->file->title));
                     } catch (UseFileAsThumbnailException $e) {
-                        $this->out->element('img', array('src' => $e->file->getUrl(), 'alt' => $e->file->title));
+                        $this->out->element('img', array('class'=>'u-photo', 'src' => $e->file->getUrl(), 'alt' => $e->file->title));
                     } catch (UnsupportedMediaException $e) {
                         // FIXME: Show a good representation of unsupported/unshowable images
                     }
@@ -151,7 +151,7 @@ class AttachmentListItem extends Widget
                         $poster = null;
                     }
                     $this->out->elementStart($mediatype,
-                                        array('class'=>'attachment_player',
+                                        array('class'=>"attachment_player u-{$mediatype}",
                                             'poster'=>$poster,
                                             'controls'=>'controls'));
                     $this->out->element('source',
index 80e2d0b0a792f3a76b8977a04f44b7caf1f52a22..6a288f18b4fc1f437c9b79edbf32d40ee39ef4c7 100644 (file)
@@ -66,7 +66,7 @@ class DoFollowListItem extends NoticeListItem
     function showContent()
     {
         // FIXME: URL, image, video, audio
-        $this->out->elementStart('p', array('class' => 'entry-content'));
+        $this->out->elementStart('div', array('class' => 'e-content'));
 
         if (!empty($this->notice->rendered)) {
             $html = $this->notice->rendered;
@@ -83,6 +83,6 @@ class DoFollowListItem extends NoticeListItem
 
         $this->out->raw($html);
 
-        $this->out->elementEnd('p');
+        $this->out->elementEnd('div');
     }
-}
\ No newline at end of file
+}
index e2adf57477e70e3a936168fef8ddca0b44a9c9f3..39e904222adc719af04cd06773ff4c639ede9d42 100644 (file)
@@ -83,36 +83,29 @@ class GroupList extends Widget
 
     function showGroup()
     {
-        $this->out->elementStart('li', array('class' => 'profile hentry',
+        $this->out->elementStart('li', array('class' => 'profile h-card',
                                              'id' => 'group-' . $this->group->id));
 
         $user = common_current_user();
 
-        $this->out->elementStart('div', 'entity_profile vcard entry-content');
+        $this->out->elementStart('div', 'entity_profile');
 
-        $logo = ($this->group->stream_logo) ?
-          $this->group->stream_logo : User_group::defaultLogo(AVATAR_STREAM_SIZE);
+        $logo = $this->group->stream_logo ?: User_group::defaultLogo(AVATAR_STREAM_SIZE);
 
         $this->out->elementStart('a', array('href' => $this->group->homeUrl(),
-                                            'class' => 'url entry-title',
+                                            'class' => 'u-url p-nickname',
                                             'rel' => 'contact group'));
         $this->out->element('img', array('src' => $logo,
-                                         'class' => 'photo avatar',
+                                         'class' => 'avatar u-photo',
                                          'width' => AVATAR_STREAM_SIZE,
                                          'height' => AVATAR_STREAM_SIZE,
-                                         'alt' =>
-                                         ($this->group->fullname) ? $this->group->fullname :
-                                         $this->group->nickname));
-        $this->out->text(' ');
-        $hasFN = ($this->group->fullname) ? 'nickname' : 'fn org nickname';
-        $this->out->elementStart('span', $hasFN);
-        $this->out->raw($this->highlight($this->group->nickname));
-        $this->out->elementEnd('span');
+                                         'alt' => $this->group->getBestName()));
+        $this->out->text($this->group->getNickname());
         $this->out->elementEnd('a');
 
         if ($this->group->fullname) {
             $this->out->text(' ');
-            $this->out->elementStart('span', 'fn org');
+            $this->out->elementStart('span', 'p-name');
             $this->out->raw($this->highlight($this->group->fullname));
             $this->out->elementEnd('span');
         }
@@ -125,7 +118,7 @@ class GroupList extends Widget
         if ($this->group->homepage) {
             $this->out->text(' ');
             $this->out->elementStart('a', array('href' => $this->group->homepage,
-                                                'class' => 'url'));
+                                                'class' => 'u-url'));
             $this->out->raw($this->highlight($this->group->homepage));
             $this->out->elementEnd('a');
         }
index 8e3d2a70ce0bde59327f0b9ae654429c9ebb09ac..ca7f8775c60dd0d2895868091be29e237d2c963e 100644 (file)
@@ -67,13 +67,11 @@ class GroupMiniList extends GroupList
 
     function showGroup()
     {
-        $this->out->elementStart('li', 'vcard');
-        $this->out->elementStart('a', array('title' => ($this->group->fullname) ?
-                                       $this->group->fullname :
-                                       $this->group->nickname,
+        $this->out->elementStart('li', 'h-card');
+        $this->out->elementStart('a', array('title' => $this->group->getBestName(),
                                        'href' => $this->group->homeUrl(),
                                        'rel' => 'contact group',
-                                       'class' => 'url'));
+                                       'class' => 'p-name u-url org'));
 
         $logo = ($this->group->mini_logo) ?
           $this->group->mini_logo : User_group::defaultLogo(AVATAR_MINI_SIZE);
@@ -82,10 +80,7 @@ class GroupMiniList extends GroupList
                                     'width' => AVATAR_MINI_SIZE,
                                     'height' => AVATAR_MINI_SIZE,
                                     'class' => 'avatar photo',
-                                    'alt' =>  ($this->group->fullname) ?
-                                    $this->group->fullname :
-                                    $this->group->nickname));
-        $this->out->element('span', 'fn org nickname', $this->group->nickname);
+                                    'alt' => $this->group->getBestName()));
         $this->out->elementEnd('a');
         $this->out->elementEnd('li');
     }
index 019b131354f0750701e8dd149bab97d2fcd602ef..d20da4ddc8dacde299127fd4f975b9aa14c7c85c 100644 (file)
@@ -77,27 +77,18 @@ class GroupSection extends Section
     {
         $this->out->elementStart('tr');
         $this->out->elementStart('td');
-        $this->out->elementStart('span', 'vcard');
-        $this->out->elementStart('a', array('title' => ($group->fullname) ?
-                                            $group->fullname :
-                                            $group->nickname,
+        $this->out->elementStart('a', array('title' => $group->getBestName(),
                                             'href' => $group->homeUrl(),
                                             'rel' => 'contact group',
-                                            'class' => 'url'));
-        $this->out->text(' ');
-        $logo = ($group->stream_logo) ?
-          $group->stream_logo : User_group::defaultLogo(AVATAR_STREAM_SIZE);
+                                            'class' => 'h-card org nickname'));
+        $logo = $group->stream_logo ?: User_group::defaultLogo(AVATAR_STREAM_SIZE);
         $this->out->element('img', array('src' => $logo,
                                          'width' => AVATAR_MINI_SIZE,
                                          'height' => AVATAR_MINI_SIZE,
-                                         'class' => 'avatar photo',
-                                         'alt' =>  ($group->fullname) ?
-                                         $group->fullname :
-                                         $group->nickname));
-        $this->out->text(' ');
-        $this->out->element('span', 'fn org nickname', $group->nickname);
+                                         'class' => 'avatar u-photo',
+                                         'alt' =>  $group->getBestName()));
+        $this->out->text($group->nickname);
         $this->out->elementEnd('a');
-        $this->out->elementEnd('span');
         $this->out->elementEnd('td');
         if ($group->value) {
             $this->out->element('td', 'value', $group->value);
index 9fb746b5e89f7279f1db0d5e6f7973f6bbc7f827..04fddf3b304b3d35c6b74cf010bda124fca53df1 100644 (file)
@@ -35,7 +35,7 @@ class InlineAttachmentList extends AttachmentList
 {
     function showListStart()
     {
-        $this->out->elementStart('div', array('class' => 'entry-content thumbnails'));
+        $this->out->elementStart('div', array('class' => 'attachments'));
     }
 
     function showListEnd()
index cb9e546f0b7f6c964710ab4e4addb400fc56edb6..c9f4c6042b92cb571d733ff661b8a3a4d3523a51 100644 (file)
@@ -67,32 +67,25 @@ abstract class MessageListItem extends Widget
      */
     function show()
     {
-        $this->out->elementStart('li', array('class' => 'hentry notice',
+        $this->out->elementStart('li', array('class' => 'h-entry notice',
                                              'id' => 'message-' . $this->message->id));
 
         $profile = $this->getMessageProfile();
 
-        $this->out->elementStart('div', 'entry-title');
-        $this->out->elementStart('span', 'vcard author');
         $this->out->elementStart('a', array('href' => $profile->profileurl,
-                                            'class' => 'url'));
+                                            'class' => 'p-author'));
         $avatarUrl = $profile->avatarUrl(AVATAR_STREAM_SIZE);
         $this->out->element('img', array('src' => $avatarUrl,
-                                         'class' => 'photo avatar',
+                                         'class' => 'avatar u-photo',
                                          'width' => AVATAR_STREAM_SIZE,
                                          'height' => AVATAR_STREAM_SIZE,
-                                         'alt' =>
-                                         ($profile->fullname) ? $profile->fullname :
-                                         $profile->nickname));
-        $this->out->element('span', array('class' => 'nickname fn'),
-                            $profile->nickname);
+                                         'alt' => $profile->getBestName()));
+        $this->out->element('span', array('class' => 'nickname fn'), $profile->getNickname());
         $this->out->elementEnd('a');
-        $this->out->elementEnd('span');
 
         // FIXME: URL, image, video, audio
-        $this->out->elementStart('p', array('class' => 'entry-content'));
+        $this->out->elementStart('div', array('class' => 'e-content'));
         $this->out->raw($this->message->rendered);
-        $this->out->elementEnd('p');
         $this->out->elementEnd('div');
 
         $messageurl = common_local_url('showmessage',
@@ -104,7 +97,7 @@ abstract class MessageListItem extends Widget
             $messageurl = $this->message->uri;
         }
 
-        $this->out->elementStart('div', 'entry-content');
+        $this->out->elementStart('div', 'entry-metadata');
         $this->out->elementStart('a', array('rel' => 'bookmark',
                                             'class' => 'timestamp',
                                             'href' => $messageurl));
index 0687a4d9313ec92ca90f7f8c3eff7fa0fca2ae6c..c05d8cdca9e1f92c10b7672b9f4e257b3ac53328 100644 (file)
@@ -113,15 +113,25 @@ class NoticeListItem extends Widget
 
     function showNotice()
     {
-        $this->out->elementStart('div', 'entry-title');
+        $this->showNoticeTitle();
         $this->showAuthor();
+        $this->showAddressees();
         $this->showContent();
-        $this->out->elementEnd('div');
+    }
+
+    function showNoticeTitle()
+    {
+        if (Event::handle('StartShowNoticeTitle', array($this))) {
+            $this->element('a', array('href' => $this->notice->getUrl(),
+                                      'class' => 'p-name metadata'),
+                           $this->notice->getTitle());
+            Event::handle('EndShowNoticeTitle', array($this));
+        }
     }
 
     function showNoticeInfo()
     {
-        $this->out->elementStart('div', 'entry-content');
+        $this->out->elementStart('div', 'entry-metadata');
         if (Event::handle('StartShowNoticeInfo', array($this))) {
             $this->showNoticeLink();
             $this->showNoticeSource();
@@ -164,7 +174,7 @@ class NoticeListItem extends Widget
     {
         if (Event::handle('StartOpenNoticeListItemElement', array($this))) {
             $id = (empty($this->repeat)) ? $this->notice->id : $this->repeat->id;
-            $class = 'hentry notice';
+            $class = 'h-entry notice';
             if ($this->notice->scope != 0 && $this->notice->scope != 1) {
                 $class .= ' limited-scope';
             }
@@ -209,24 +219,14 @@ class NoticeListItem extends Widget
 
     function showAuthor()
     {
-        $this->out->elementStart('div', 'author');
-
-        $this->out->elementStart('span', 'vcard author');
-
         $attrs = array('href' => $this->profile->profileurl,
-                       'class' => 'url',
-                       'title' => $this->profile->nickname);
+                       'class' => 'h-card p-author',
+                       'title' => $this->profile->getNickname());
 
         $this->out->elementStart('a', $attrs);
         $this->showAvatar($this->profile);
         $this->out->text($this->profile->getStreamName());
         $this->out->elementEnd('a');
-
-        $this->out->elementEnd('span');
-
-        $this->showAddressees();
-
-        $this->out->elementEnd('div');
     }
 
     function showAddressees()
@@ -234,21 +234,16 @@ class NoticeListItem extends Widget
         $pa = $this->getProfileAddressees();
 
         if (!empty($pa)) {
-            $this->out->elementStart('span', 'addressees');
+            $this->out->elementStart('ul', 'addressees');
             $first = true;
             foreach ($pa as $addr) {
-                if (!$first) {
-                    // TRANS: Separator in profile addressees list.
-                    $this->out->text(_m('SEPARATOR',', '));
-                } else {
-                    // Start of profile addressees list.
-                    $first = false;
-                }
+                $this->out->elementStart('li', 'h-card');
                 $text = $addr['text'];
                 unset($addr['text']);
                 $this->out->element('a', $addr, $text);
+                $this->out->elementEnd('li');
             }
-            $this->out->elementEnd('span', 'addressees');
+            $this->out->elementEnd('ul', 'addressees');
         }
     }
 
@@ -261,7 +256,7 @@ class NoticeListItem extends Widget
         foreach ($attentions as $attn) {
             $class = $attn->isGroup() ? 'group' : 'account';
             $pa[] = array('href' => $attn->profileurl,
-                          'title' => $attn->nickname,
+                          'title' => $attn->getNickname(),
                           'class' => "addressee {$class}",
                           'text' => $attn->getStreamName());
         }
@@ -283,8 +278,8 @@ class NoticeListItem extends Widget
      */
     function showNickname()
     {
-        $this->out->raw('<span class="nickname fn">' .
-                        htmlspecialchars($this->profile->nickname) .
+        $this->out->raw('<span class="p-name">' .
+                        htmlspecialchars($this->profile->getNickname()) .
                         '</span>');
     }
 
@@ -300,7 +295,7 @@ class NoticeListItem extends Widget
     function showContent()
     {
         // FIXME: URL, image, video, audio
-        $this->out->elementStart('p', array('class' => 'entry-content'));
+        $this->out->elementStart('div', array('class' => 'e-content'));
         if ($this->notice->rendered) {
             $this->out->raw($this->notice->rendered);
         } else {
@@ -309,7 +304,7 @@ class NoticeListItem extends Widget
             // versions (>> 0.4.x)
             $this->out->raw(common_render_content($this->notice->content, $this->notice));
         }
-        $this->out->elementEnd('p');
+        $this->out->elementEnd('div');
     }
 
     function showNoticeAttachments() {
@@ -329,7 +324,7 @@ class NoticeListItem extends Widget
     function showNoticeLink()
     {
         $this->out->elementStart('a', array('rel' => 'bookmark',
-                                            'class' => 'timestamp',
+                                            'class' => 'u-url timestamp',
                                             'href' => $this->notice->getLocalUrl()));
         $this->out->element('time', array('class' => 'dt-published',
                                           'datetime' => common_date_iso8601($this->notice->created),
@@ -511,21 +506,15 @@ class NoticeListItem extends Widget
             $repeater = Profile::getKV('id', $this->repeat->profile_id);
 
             $attrs = array('href' => $repeater->profileurl,
-                           'class' => 'url');
+                           'class' => 'h-card p-author',
+                           'title' => $repeater->getFancyName());
 
-            if (!empty($repeater->fullname)) {
-                $attrs['title'] = $repeater->fullname . ' (' . $repeater->nickname . ')';
-            }
-
-            $this->out->elementStart('span', 'repeat vcard');
+            $this->out->elementStart('span', 'repeat h-entry');
 
             // TRANS: Addition in notice list item if notice was repeated. Followed by a span with a nickname.
-            $this->out->raw(_('Repeated by'));
-            $this->out->raw(' ');
+            $this->out->raw(_('Repeated by').' ');
 
-            $this->out->elementStart('a', $attrs);
-            $this->out->element('span', 'fn nickname', $repeater->nickname);
-            $this->out->elementEnd('a');
+            $this->out->element('a', $attrs, $repeater->getNickname());
 
             $this->out->elementEnd('span');
         }
@@ -544,7 +533,7 @@ class NoticeListItem extends Widget
         if (common_logged_in()) {
             $this->out->text(' ');
             $reply_url = common_local_url('newnotice',
-                                          array('replyto' => $this->profile->nickname, 'inreplyto' => $this->notice->id));
+                                          array('replyto' => $this->profile->getNickname(), 'inreplyto' => $this->notice->id));
             $this->out->elementStart('a', array('href' => $reply_url,
                                                 'class' => 'notice_reply',
                                                 // TRANS: Link title in notice list item to reply to a notice.
index c1fcbbf8cd1fcf904d875b882e89c04f45ad174c..b7f38ba6655b5b583a6bebb8a481953a2c05c2b0 100644 (file)
@@ -78,28 +78,21 @@ class NoticeSection extends Section
                                             $notice->id));
             return;
         }
-        $this->out->elementStart('li', 'hentry notice');
-        $this->out->elementStart('div', 'entry-title');
-        $this->out->elementStart('span', 'vcard author');
-        $this->out->elementStart('a', array('title' => ($profile->fullname) ?
-                                            $profile->fullname :
-                                            $profile->nickname,
+        $this->out->elementStart('li', 'h-entry notice');
+        $this->out->elementStart('div', 'h-card');
+        $this->out->elementStart('a', array('title' => $profile->getBestName(),
                                             'href' => $profile->profileurl,
-                                            'class' => 'url'));
+                                            'class' => 'p-author u-url p-name'));
         $avatarUrl = $profile->avatarUrl(AVATAR_MINI_SIZE);
         $this->out->element('img', array('src' => $avatarUrl,
                                          'width' => AVATAR_MINI_SIZE,
                                          'height' => AVATAR_MINI_SIZE,
-                                         'class' => 'avatar photo',
-                                         'alt' =>  ($profile->fullname) ?
-                                         $profile->fullname :
-                                         $profile->nickname));
-        $this->out->text(' ');
-        $this->out->element('span', 'fn nickname', $profile->nickname);
+                                         'class' => 'avatar u-photo',
+                                         'alt' => $profile->getBestName()));
+        $this->out->text($profile->getBestName());
         $this->out->elementEnd('a');
-        $this->out->elementEnd('span');
 
-        $this->out->elementStart('p', 'entry-content');
+        $this->out->elementStart('p', 'e-content');
         $this->out->text(mb_strlen($notice->content) > $this->maxchars
             ? mb_substr($notice->content, 0, $this->maxchars) . '[…]'
             : $notice->content);
index 7fa26c56c14e498a0d136b2fe0929da839903ddb..b2f2dcca463753c2766de08dda9834505b81e911 100644 (file)
@@ -142,7 +142,7 @@ class PeopletagListItem extends Widget
     function showStart()
     {
         $mode = ($this->peopletag->private) ? 'private' : 'public';
-        $this->out->elementStart('li', array('class' => 'hentry peopletag mode-' . $mode,
+        $this->out->elementStart('li', array('class' => 'h-entry peopletag mode-' . $mode,
                                              'id' => 'peopletag-' . $this->peopletag->id));
     }
 
@@ -221,20 +221,16 @@ class PeopletagListItem extends Widget
 
     function showCreator()
     {
-        $this->out->elementStart('span', 'author vcard');
         $attrs = array();
         $attrs['href'] = $this->profile->profileurl;
-        $attrs['class'] = 'url';
+        $attrs['class'] = 'h-card p-author nickname p-name';
         $attrs['rel'] = 'contact';
+        $attrs['title'] = $this->profile->getFancyName();
 
-        if (!empty($this->profile->fullname)) {
-            $attrs['title'] = $this->profile->fullname . ' (' . $this->profile->nickname . ')';
-        }
         $this->out->elementStart('a', $attrs);
         $this->showAvatar($this->profile);
         $this->out->text($this->profile->getNickname());
         $this->out->elementEnd('a');
-        $this->out->elementEnd('span');
     }
 
     function showUpdated()
@@ -287,7 +283,6 @@ class PeopletagListItem extends Widget
 
     function showDescription()
     {
-        $this->out->element('div', 'entry-content description',
-                            $this->peopletag->description);
+        $this->out->element('div', 'e-content description', $this->peopletag->description);
     }
 }
index 4478a50795bc6765354f5c9a01a6481cd987a90d..63ace5c6e3cc2b5ec261a352b79e7c0ec3530077 100644 (file)
@@ -142,7 +142,7 @@ class ProfileListItem extends Widget
 
     function startItem()
     {
-        $this->out->elementStart('li', array('class' => 'profile hentry',
+        $this->out->elementStart('li', array('class' => 'profile h-entry',
                                              'id' => 'profile-' . $this->profile->id));
     }
 
@@ -184,14 +184,14 @@ class ProfileListItem extends Widget
 
     function startProfile()
     {
-        $this->out->elementStart('div', 'entity_profile vcard entry-content');
+        $this->out->elementStart('div', 'entity_profile h-card');
     }
 
     function showFullName()
     {
         if (!empty($this->profile->fullname)) {
             $this->out->text(' ');
-            $this->out->elementStart('span', 'fn');
+            $this->out->elementStart('span', 'p-name');
             $this->out->raw($this->highlight($this->profile->fullname));
             $this->out->elementEnd('span');
         }
@@ -304,13 +304,13 @@ class ProfileListItem extends Widget
     function linkAttributes()
     {
         return array('href' => $this->profile->profileurl,
-                     'class' => 'url entry-title',
+                     'class' => 'u-url',
                      'rel' => 'contact');
     }
 
     function homepageAttributes()
     {
         return array('href' => $this->profile->homepage,
-                     'class' => 'url');
+                     'class' => 'u-url');
     }
 }
index 049754f721843991642b137bf172e7ae312edecb..33624a3c7059440298a23e3e829b13c5b59b5f5d 100644 (file)
@@ -74,7 +74,7 @@ class ProfileMiniListItem extends ProfileListItem
 {
     function show()
     {
-        $this->out->elementStart('li', 'vcard');
+        $this->out->elementStart('li', 'h-card');
         if (Event::handle('StartProfileListItemProfileElements', array($this))) {
             if (Event::handle('StartProfileListItemAvatar', array($this))) {
                 $aAttrs = $this->linkAttributes();
@@ -83,11 +83,8 @@ class ProfileMiniListItem extends ProfileListItem
                 $this->out->element('img', array('src' => $avatarUrl,
                                                  'width' => AVATAR_MINI_SIZE,
                                                  'height' => AVATAR_MINI_SIZE,
-                                                 'class' => 'avatar photo',
-                                                 'alt' =>  ($this->profile->fullname) ?
-                                                 $this->profile->fullname :
-                                                 $this->profile->nickname));
-                $this->out->element('span', 'fn nickname', $this->profile->nickname);
+                                                 'class' => 'avatar u-photo',
+                                                 'alt' =>  $this->profile->getBestName()));
                 $this->out->elementEnd('a');
                 Event::handle('EndProfileListItemAvatar', array($this));
             }
@@ -103,7 +100,7 @@ class ProfileMiniListItem extends ProfileListItem
 
         $aAttrs['title'] = $this->profile->getBestName();
         $aAttrs['rel']   = 'contact member'; // @todo: member? always?
-        $aAttrs['class'] = 'url';
+        $aAttrs['class'] = 'u-url p-name';
 
         return $aAttrs;
     }
index 516599cb91dec5870d646ec4bb638b66d167453a..ea50f5283ff9015b4807fafd297c396850f686b3 100644 (file)
@@ -78,26 +78,17 @@ class ProfileSection extends Section
     {
         $this->out->elementStart('tr');
         $this->out->elementStart('td');
-        $this->out->elementStart('span', 'vcard');
-        $this->out->elementStart('a', array('title' => ($profile->fullname) ?
-                                       $profile->fullname :
-                                       $profile->nickname,
+        $this->out->elementStart('a', array('title' => $profile->getBestName(),
                                        'href' => $profile->profileurl,
                                        'rel' => 'contact member',
-                                       'class' => 'url'));
-        $this->out->text(' ');
+                                       'class' => 'h-card u-url'));
         $avatarUrl = $profile->avatarUrl(AVATAR_MINI_SIZE);
         $this->out->element('img', array('src' => $avatarUrl,
                                     'width' => AVATAR_MINI_SIZE,
                                     'height' => AVATAR_MINI_SIZE,
-                                    'class' => 'avatar photo',
-                                    'alt' =>  ($profile->fullname) ?
-                                    $profile->fullname :
-                                    $profile->nickname));
-        $this->out->text(' ');
-        $this->out->element('span', 'fn nickname', $profile->nickname);
+                                    'class' => 'avatar u-photo',
+                                    'alt' => $profile->getBestName()));
         $this->out->elementEnd('a');
-        $this->out->elementEnd('span');
         $this->out->elementEnd('td');
         if (isset($profile->value)) {
             $this->out->element('td', 'value', $profile->value);
index 92d9fbc571d88e6872a6e66c187242187f122fb3..de714e0ab73bcd42fe3881195ac44cc0f411e76a 100644 (file)
@@ -548,7 +548,7 @@ class ThreadedNoticeListInlineFavesItem extends ThreadedNoticeListFavesItem
 {
     function showStart()
     {
-        $this->out->elementStart('div', array('class' => 'entry-content notice-faves'));
+        $this->out->elementStart('div', array('class' => 'e-content notice-faves'));
     }
 
     function showEnd()
@@ -625,7 +625,7 @@ class ThreadedNoticeListInlineRepeatsItem extends ThreadedNoticeListRepeatsItem
 {
     function showStart()
     {
-        $this->out->elementStart('div', array('class' => 'entry-content notice-repeats'));
+        $this->out->elementStart('div', array('class' => 'e-content notice-repeats'));
     }
 
     function showEnd()
index ec0d7c6a251913a26cd7dbea53760c5024578fd7..dd4be87849510dd7027e1d992ae05b8445c7a39b 100644 (file)
@@ -635,17 +635,13 @@ function common_linkify_mention($mention)
         $xs = new XMLStringer(false);
 
         $attrs = array('href' => $mention['url'],
-                       'class' => 'url');
+                       'class' => 'h-card '.$mention['type']);
 
         if (!empty($mention['title'])) {
             $attrs['title'] = $mention['title'];
         }
 
-        $xs->elementStart('span', 'vcard');
-        $xs->elementStart('a', $attrs);
-        $xs->element('span', 'fn nickname '.$mention['type'], $mention['text']);
-        $xs->elementEnd('a');
-        $xs->elementEnd('span');
+        $xs->element('a', $attrs, $mention['text']);
 
         $output = $xs->getString();
 
index 499445abef65c4245708e2e1b9cd9ef2e644be7c..170fa578f99b2d25faa7e0109aed790a073570a4 100644 (file)
@@ -259,7 +259,7 @@ class BookmarkPlugin extends MicroAppPlugin
         }
                
            $id = (empty($nli->repeat)) ? $nli->notice->id : $nli->repeat->id;
-           $class = 'hentry notice bookmark';
+           $class = 'h-entry notice bookmark';
            if ($nli->notice->scope != 0 && $nli->notice->scope != 1) {
                $class .= ' limited-scope';
            }
index 77b7ab316f47af15fa8bb29aaed37ebb35c5db16..7d10957c685bd3196ef6abb6780a33e56f82ec94 100644 (file)
@@ -68,7 +68,7 @@ ul.bookmark-tags a:hover {
     top: 2px;
 }
 
-.bookmark div.entry-content {
+.bookmark div.e-content {
     font-size: 0.88em;
     line-height: 1.2em;
     margin-top: 6px;
@@ -76,7 +76,7 @@ ul.bookmark-tags a:hover {
     margin-bottom: 0px;
 }
 
-.bookmark:hover div.entry-content {
+.bookmark:hover div.e-content {
     opacity: 1;
 }
 
index f9613fbd6e2806b6d8a2e513320f661e90cfd6fe..3421829a42d0354c1f6cdcee24fde2bf7235bcd2 100644 (file)
@@ -74,7 +74,7 @@ class BookmarkListItem extends NoticeListItemAdapter
 
         $profile = $notice->getProfile();
 
-        $out->elementStart('p', array('class' => 'entry-content'));
+        $out->elementStart('p', array('class' => 'e-content'));
 
         // Whether to nofollow
 
index 05282abcc4473b8ac7789091f94d3226a93dea55..144902fce2316775a08b527467835f4fc2ae835d 100644 (file)
@@ -110,7 +110,7 @@ class ConversationTree extends NoticeList
     {
         $notice = $this->table[$id];
 
-        $this->out->elementStart('li', array('class' => 'hentry notice',
+        $this->out->elementStart('li', array('class' => 'h-entry notice',
                                              'id' => 'notice-' . $id));
 
         $item = $this->newListItem($notice);
index 9c826539e87a59a28fa80edc9741038f1b27cbd7..fbb8ba826fcafcdb8005e1ee3289ffa94a4d09f2 100644 (file)
@@ -205,9 +205,8 @@ class SortableGroupListItem extends SortableSubscriptionListItem
     {
         $this->startProfile();
 
-        $hasFN = ($this->profile->fullname) ? 'nickname' : 'fn org nickname';
         $this->out->elementStart('a', array('href'  => $this->profile->homeUrl(),
-                                            'class' => 'h-card org nickname',
+                                            'class' => 'h-card p-org p-nickname',
                                             'rel'   => 'contact group'));
         // getProfile here is because $this->profile is a User_group, which it should stop
         // being by making sure the group listing runs a ->getGroup when it's necessary.
index 750a0f2491e96ad82c58724f6d65b6dbb8eed175..8cc2657b5cabaf8a62edc0f01668d13155dda19e 100644 (file)
@@ -191,7 +191,7 @@ class SortableSubscriptionListItem extends SubscriptionListItem
 
     function startProfile()
     {
-        $this->out->elementStart('td', 'entity_profile vcard entry-content');
+        $this->out->elementStart('td', 'entity_profile h-card e-content');
     }
 
     function endProfile()
index 6c69cf16821423b6a72667152faa1a5711a3fca0..37561c397dba7ee64032c43c72dd6a91b0c6af7f 100644 (file)
@@ -6,8 +6,8 @@
 .event-notice-count { float: right; }
 .event-info { float: left; }
 .event-title { margin-left: 0px; }
-#content .event .entry-title { margin-left: 0px; }
-#content .event .entry-content { margin-left: 0px; }
+#content .event .h-entry { margin-left: 0px; }
+#content .event .e-content { margin-left: 0px; }
 .ui-autocomplete {
     max-height: 100px;
     overflow-y: auto;
@@ -32,13 +32,10 @@ li.rsvp-list .entities li {
     margin-bottom: 8px;
     display: inline;
 }
-li.rsvp-list .entities li .photo {
+li.rsvp-list .entities li .u-photo {
     margin: 0 !important;
     float: none !important;
 }
-li.rsvp-list .entities li .fn {
-    display: none;
-}
 
 .notice .vevent div {
     margin-bottom: 8px;
index b563e228f98ead4c5ed15cc8cd4a638669fcef04..54f069233f48854b470a11d3fc4e95a74486ddf3 100644 (file)
@@ -48,10 +48,8 @@ class EventListItem extends NoticeListItemAdapter
 {
     function showNotice()
     {
-        $this->nli->out->elementStart('div', 'entry-title');
         $this->nli->showAuthor();
         $this->showContent();
-        $this->nli->out->elementEnd('div');
     }
 
     function showContent()
@@ -68,9 +66,9 @@ class EventListItem extends NoticeListItemAdapter
             return;
         }
 
-        $out->elementStart('div', 'vevent event'); // VEVENT IN
+        $out->elementStart('div', 'vevent event e-content'); // VEVENT IN
 
-        $out->elementStart('h3');  // VEVENT/H3 IN
+        $out->elementStart('h3', 'summary');  // VEVENT/H3 IN
 
         if (!empty($event->url)) {
             $out->element('a',
index 8930d6c72a68193cc322bdf00d9891007c98912b..4bdffc9428e23b34d938919bcc7c706caf3e6629 100644 (file)
@@ -73,7 +73,7 @@ class NoticeTree extends NoticeList
 
         // We take responsibility for doing the li
 
-        $this->out->elementStart('li', array('class' => 'hentry notice',
+        $this->out->elementStart('li', array('class' => 'h-entry notice',
                                              'id' => 'notice-' . $item->notice->id));
 
         $item->show();
index ee0f147305521c9e0ec36f2163618393e9e27f17..5c0a27988774e893bb1d9d8abacd9f9ff235e628 100644 (file)
@@ -70,7 +70,7 @@ class GroupMessageListItem extends Widget
         $group  = $this->gm->getGroup();
         $sender = $this->gm->getSender();
 
-        $this->out->elementStart('li', array('class' => 'hentry notice message group-message',
+        $this->out->elementStart('li', array('class' => 'h-entry notice message group-message',
                                          'id' => 'message-' . $this->gm->id));
 
         $this->out->elementStart('div', 'entry-title');
@@ -90,12 +90,12 @@ class GroupMessageListItem extends Widget
         $this->out->elementEnd('a');
         $this->out->elementEnd('span');
 
-        $this->out->elementStart('p', array('class' => 'entry-content message-content'));
+        $this->out->elementStart('p', array('class' => 'e-content message-content'));
         $this->out->raw($this->gm->rendered);
         $this->out->elementEnd('p');
         $this->out->elementEnd('div');
 
-        $this->out->elementStart('div', 'entry-content');
+        $this->out->elementStart('div', 'e-content');
         $this->out->elementStart('a', array('rel' => 'bookmark',
                                             'class' => 'timestamp',
                                             'href' => $this->gm->url));
index b90ec0b336970f8813d4eea02741f4b89301d647..763a537d2ef21edd80270a9a0bf13a31ba341db2 100644 (file)
@@ -39,7 +39,7 @@ function getNoticeFromElement(noticeElement)
             parseFloat(latlon[1])] };
     }
 
-    notice['html'] = noticeElement.find(".entry-content").html();
+    notice['html'] = noticeElement.find(".e-content").html();
     notice['url'] = noticeElement.find("a.timestamp").attr('href');
     notice['created_at'] = noticeElement.find("abbr.published").text();
 
index f04e61c698dd401cf534491affde800d3949dddd..bf16cd9f56690fe6c06042b4d123d420f63f8a2b 100644 (file)
@@ -292,27 +292,26 @@ class MobileProfilePlugin extends WAP20Plugin
 
     function _showLogo($action)
     {
-        $action->elementStart('address', 'vcard');
+        $action->elementStart('address');
         if (common_config('singleuser', 'enabled')) {
             $user = User::singleUser();
-            $url = common_local_url('showstream', array('nickname' => $user->nickname));
+            $url = common_local_url('showstream', array('nickname' => $user->getNickname()));
         } else {
             $url = common_local_url('public');
         }
 
-        $action->elementStart('a', array('class' => 'url home bookmark',
+        $action->elementStart('a', array('class' => 'h-card home bookmark',
                                          'href' => $url));
 
         if (common_config('site', 'mobilelogo') ||
             file_exists(Theme::file('logo.png')) ||
             file_exists(Theme::file('mobilelogo.png'))) {
 
-            $action->element('img', array('class' => 'photo',
+            $action->element('img', array('class' => 'u-photo',
                 'src' => (common_config('site', 'mobilelogo')) ? common_config('site', 'mobilelogo') :
                             ((file_exists(Theme::file('mobilelogo.png'))) ? (Theme::path('mobilelogo.png')) : Theme::path('logo.png')),
                 'alt' => common_config('site', 'name')));
         }
-        $action->element('span', array('class' => 'fn org'), common_config('site', 'name'));
         $action->elementEnd('a');
         $action->elementEnd('address');
     }
index 78086af210f9035606e1125e1bc3bf8d16f544e1..7a5a616f8cf7dfc81f1dab21e0ab71b37072a635 100644 (file)
@@ -352,6 +352,6 @@ label[for=blog-entry-content] {
     content: '\003E';
 }
 
-.user_in .notice div.entry-content {
+.user_in .notice div.e-content {
   max-width: 150px;
 }
index 5ca2e7714221be769b0acae3a09641c8e8c03f16..8b32db7866b6c4884cfc864456d5eb98e55fb3df 100644 (file)
@@ -86,7 +86,7 @@ class ModPlusPlugin extends Plugin
      * @param NoticeListItem $item
      * @return boolean hook value
      */
-    function onStartShowNoticeItem($item)
+    function onStartShowNoticeItem(NoticeListItem $item)
     {
         $this->showProfileOptions($item->out, $item->profile);
         return true;
@@ -108,12 +108,11 @@ class ModPlusPlugin extends Plugin
      * Currently only adds output for remote profiles, nothing for local users.
      *
      * @param HTMLOutputter $out
-     * @param Profile $profile (may also be an ArrayWrapper... sigh)
+     * @param Profile $profile
      */
-    protected function showProfileOptions(HTMLOutputter $out, $profile)
+    protected function showProfileOptions(HTMLOutputter $out, Profile $profile)
     {
-        $isRemote = !(User::getKV('id', $profile->id));
-        if ($isRemote) {
+        if (!$profile->isLocal()) {
             $target = common_local_url('remoteprofile', array('id' => $profile->id));
             // TRANS: Label for access to remote profile options.
             $label = _m('Remote profile options...');
index 8d2fc8fba10ec52af378fd653ed7cc945cbde370..1e3e15dbb88b2c384567f07de4279493aa1127a8 100644 (file)
     padding: 6px 16px;
     padding-left: 32px;
 
-    -moz-border-radius: 8px;
-    -webkit-border-radius: 8px;
-    -msie-border-radius: 8px;
     border-radius: 8px;
 
     box-shadow:3px 3px 7px rgba(194, 194, 194, 0.3);
-    -moz-box-shadow:3px 3px 7px rgba(194, 194, 194, 0.3);
-    -webkit-box-shadow:3px 3px 7px rgba(194, 194, 194, 0.3);
 
     display: none;
 }
index 4116f3c5d52d406b25c388d064a5069ddb01621e..6b5b9f805da04bdc03301cf360334a40c97a382c 100644 (file)
@@ -5,7 +5,7 @@
 
 $(function() {
     // Notice lists...
-    $(document).on('mouseenter', '.notice .author', function(e) {
+    $(document).on('mouseenter', '.notice .p-author', function(e) {
         var notice = $(this).closest('.notice');
         var popup = notice.find('.remote-profile-options');
         if (popup.length) {
@@ -21,7 +21,7 @@ $(function() {
     });
 
     // Profile lists...
-    $(document).on('mouseenter', '.profile .avatar', function(e) {
+    $(document).on('mouseenter', '.profile .u-photo', function(e) {
         var profile = $(this).closest('.profile');
         var popup = profile.find('.remote-profile-options');
         if (popup.length) {
index f0ea19d39ccabf5bd3c84d03e691ba3792ee01ba..4227703bfd8b35c71e06f00acec35f6f24b2bb10 100644 (file)
@@ -181,14 +181,15 @@ class NoticeTitlePlugin extends Plugin
      *
      * @return boolean hook value
      */
-    function onStartShowNoticeItem($nli)
+    function onStartShowNoticeTitle(NoticeListItem $nli)
     {
         $title = Notice_title::fromNotice($nli->notice);
 
         if (!empty($title)) {
-            $nli->out->elementStart('h4', array('class' => 'notice_title'));
-            $nli->out->element('a', array('href' => $nli->notice->getUrl()), $title);
-            $nli->out->elementEnd('h4');
+            $nli->elementStart('h4', array('class' => 'p-name'));
+            $nli->element('a', array('href' => $nli->notice->getUrl()), $title);
+            $nli->elementEnd('h4');
+            return false;
         }
 
         return true;
@@ -284,20 +285,16 @@ class NoticeTitlePlugin extends Plugin
     /**
      * If a notice has a title, show it in the <h1> element
      *
-     * @param Action $action Action being executed
+     * @param Notice $notice Notice we're getting the title for
+     * @param string $title  Reference to the variable which we set to the notice's title
      *
      * @return boolean hook value
      */
-    function onStartShowPageTitle($action)
+    function onGetNoticeTitle(Notice $notice, &$title)
     {
-        $actionName = $action->trimmed('action');
-
-        if ($actionName == 'shownotice') {
-            $title = Notice_title::fromNotice($action->notice);
-            if (!empty($title)) {
-                $action->element('h1', null, $title);
-                return false;
-            }
+        $title = Notice_title::fromNotice($notice);
+        if (!is_null($title)) {
+            return false;
         }
 
         return true;
index 655505309ed38826f9836ae3f42d26cbd5ff1758..ce8591df25e084c50a1ada75df62c16fd896f940 100644 (file)
@@ -109,7 +109,7 @@ class OembedPlugin extends Plugin
         if (empty($oembed->author_name) && empty($oembed->provider)) {
             return true;
         }
-        $out->elementStart('div', array('id'=>'oembed_info', 'class'=>'entry-content'));
+        $out->elementStart('div', array('id'=>'oembed_info', 'class'=>'e-content'));
         if (!empty($oembed->author_name)) {
             $out->elementStart('div', 'fn vcard author');
             if (empty($oembed->author_url)) {
index 76f46171cc589e68c5e2afeb7c3cb0ba742fd8c7..005fa71d42b87cc7fea7b004ec2c324af813a465 100644 (file)
@@ -401,7 +401,7 @@ class PollPlugin extends MicroAppPlugin
         $nli = new NoticeListItem($notice, $out);
         $nli->showNotice();
 
-        $out->elementStart('div', array('class' => 'entry-content poll-content'));
+        $out->elementStart('div', array('class' => 'e-content poll-content'));
         $poll = Poll::getByNotice($notice);
         if ($poll) {
             if ($user) {
@@ -422,7 +422,7 @@ class PollPlugin extends MicroAppPlugin
         $out->elementEnd('div');
 
         // @fixme
-        $out->elementStart('div', array('class' => 'entry-content'));
+        $out->elementStart('div', array('class' => 'e-content'));
     }
 
     function showNoticePollResponse(Notice $notice, $out)
@@ -434,7 +434,7 @@ class PollPlugin extends MicroAppPlugin
         $nli->showNotice();
 
         // @fixme
-        $out->elementStart('div', array('class' => 'entry-content'));
+        $out->elementStart('div', array('class' => 'e-content'));
     }
 
     function entryForm($out)
index 8aa3247f9ae9ba4b52535d765b583ecef80db9dd..0f46e440e9876dd196f95ee5fa5ed1f84eeaa733 100644 (file)
@@ -265,7 +265,7 @@ class QnAPlugin extends MicroAppPlugin
         {
         case QnA_Question::OBJECT_TYPE:
             $id = (empty($nli->repeat)) ? $nli->notice->id : $nli->repeat->id;
-            $class = 'hentry notice question';
+            $class = 'h-entry notice question';
             if ($nli->notice->scope != 0 && $nli->notice->scope != 1) {
                 $class .= ' limited-scope';
             }
@@ -288,7 +288,7 @@ class QnAPlugin extends MicroAppPlugin
         case QnA_Answer::OBJECT_TYPE:
             $id = (empty($nli->repeat)) ? $nli->notice->id : $nli->repeat->id;
 
-            $cls = array('hentry', 'notice', 'answer');
+            $cls = array('h-entry', 'notice', 'answer');
 
             $answer = QnA_Answer::getKV('uri', $nli->notice->uri);
 
@@ -345,7 +345,7 @@ class QnAPlugin extends MicroAppPlugin
         $nli = new NoticeListItem($notice, $out);
         $nli->showNotice();
 
-        $out->elementStart('div', array('class' => 'entry-content question-description'));
+        $out->elementStart('div', array('class' => 'e-content question-description'));
 
         $question = QnA_Question::getByNotice($notice);
 
@@ -361,7 +361,7 @@ class QnAPlugin extends MicroAppPlugin
         $out->elementEnd('div');
 
         // @fixme
-        $out->elementStart('div', array('class' => 'entry-content'));
+        $out->elementStart('div', array('class' => 'e-content'));
     }
 
     /**
@@ -437,7 +437,7 @@ class QnAPlugin extends MicroAppPlugin
         $nli = new NoticeListItem($notice, $out);
         $nli->showNotice();
 
-        $out->elementStart('div', array('class' => 'entry-content answer-content'));
+        $out->elementStart('div', array('class' => 'e-content answer-content'));
 
         if (!empty($answer)) {
             $form = new QnashowanswerForm($out, $answer);
@@ -450,7 +450,7 @@ class QnAPlugin extends MicroAppPlugin
         $out->elementEnd('div');
 
         // @todo FIXME
-        $out->elementStart('div', array('class' => 'entry-content'));
+        $out->elementStart('div', array('class' => 'e-content'));
     }
 
     static function shorten($content, $notice)
index 15f32e4bc5844ebed382d72c0ea09f637c2b85c1..aad207fba215e5f2df1c1087af8fbf6aecd58ccf 100644 (file)
@@ -326,7 +326,7 @@ class NoticeAnswerListItem extends NoticeListItem
      */
     function showContent()
     {
-        $this->out->elementStart('p', array('class' => 'entry-content answer-content'));
+        $this->out->elementStart('p', array('class' => 'e-content answer-content'));
         if ($this->notice->rendered) {
             $this->out->raw($this->notice->rendered);
         } else {
index cf211d691244dab8b1d3ef907ff54f120718dac7..3da85ea373a07059e90a75f706d6b74a17668808 100644 (file)
@@ -2,7 +2,7 @@ var QnA = {
 
     // @fixme: Should use ID
     close: function (form, best) {
-        var notice = $(form).closest('li.hentry.notice.question');
+        var notice = $(form).closest('li.h-entry.notice.question');
 
         notice.find('input#qna-best-answer,#qna-question-close').hide();
         notice.find('textarea').hide();
@@ -87,7 +87,7 @@ var QnA = {
             $('body').click(function (e) {
                 var dummyAnswer = $('ul.qna-dummy', notice);
                 var style = dummyAnswer.attr('style');
-                var ans = $(notice).find('li.hentry.notice.anwer', notice)
+                var ans = $(notice).find('li.h-entry.notice.anwer', notice)
                 if (ans > 0) {
                     hideReplyPlaceholders(notice);
                 }
@@ -300,7 +300,7 @@ var QnA = {
                     var list = form.closest('.threaded-replies');
 
                     // if the inserted notice's parent question needs it give it a placeholder
-                    var ans = questionItem.find('ul > li.hentry.notice.answer');
+                    var ans = questionItem.find('ul > li.h-entry.notice.answer');
                     if (ans.length == 0) {
                         SN.U.NoticeInlineReplyPlaceholder(questionItem);
                     }
index 90d0a05b09f9fc48babcf89fcf12a938e0663651..16f32a33289ef96a601a679bf825e39b932cc4d4 100644 (file)
@@ -632,7 +632,7 @@ RealtimeUpdate = {
       */
      initPopupWindow: function()
      {
-         $('.notices .entry-title a, .notices .entry-content a').bind('click', function() {
+         $('.notices .entry-title a, .notices .e-content a').bind('click', function() {
             window.open(this.href, '');
 
             return false;
index 55d1e8e91a1d8797514a0419172b236765b49f86..3c1eca00ef70ad306fdd24be44d3def0bf6604af 100644 (file)
@@ -189,7 +189,7 @@ address img {
     max-width: 158px;
 }
 
-address img + .fn {
+address img + .p-name {
     display: none;
 }
 
@@ -626,52 +626,52 @@ address .poweredby {
     width:100%;
 }
 
-.notice .author {
+.notice .p-author {
     margin-right: 8px;
 }
 
-.notice .addressees:before {
+.notice .addressees::before {
     content: '\25B8';
 }
+.notice .addressees, .notice .addressees li {
+    display: inline;
+}
+.notice .addressees > li::before {
+    content: ',';
+}
+.notice .addressees > li:first-child::before {
+    content: '';
+}
 
 .notice .addressees .group {
     font-style: italic;
 }
 
-.fn {
+.p-name {
     overflow: hidden;
 }
 
-.notice .author .fn {
+.notice .p-author {
     font-weight: bold;
 }
 
-#core .vcard .photo {
-    display: inline;
-    margin-right: 11px;
+#core .h-card .u-photo {
     float: left;
 }
 
-#content .notice .author .photo {
-    position: absolute;
-    top: 7px;
-    left: 0px;
-    float: none;
-}
-
-#content .notice .entry-title {
-    margin: 2px 7px 0px 59px;
-    min-height: 35px;
+#content .notice .h-entry {
+    margin: 2px 0 0 0;
+    min-height: 32px;
 }
 
-.vcard .url {
+.h-card .u-url, .h-card.u-url {
     text-decoration:none;
 }
-.vcard .url:hover {
+.h-card .u-url:hover, .h-card.u-url:hover {
     text-decoration:underline;
 }
 
-.notice .entry-title {
+.notice .h-entry {
     overflow:hidden;
     word-wrap:break-word;
 }
@@ -688,11 +688,8 @@ font-style:italic;
     display:none;
 }
 
-#remoteprofile .notice .entry-title, #remoteprofile .notice div.entry-content,
-#showstream .notice .entry-title, #showstream .notice div.entry-content {
-    margin-left: 0;
-}
-
+#remoteprofile .notice .h-entry,
+#showstream .notice .h-entry,
 #remoteprofile .notice .entry-title,
 #showstream .notice .entry-title {
     min-height: 1px;
@@ -708,33 +705,22 @@ font-style:italic;
     min-height: 1em; 
 }
 
-#shownotice .notice .entry-title {
+#shownotice .notice .h-entry {,
     font-size:2.2em;
     min-height:123px;
     font-size: 1.6em;
     line-height: 1.2em;
 }
 
-#shownotice .notice div.entry-content {
-    margin-left:0;
+.notice div.e-content {
+    margin-left: 55px;
 }
 
-.notice p.entry-content {
-    display:inline;
-}
-
-.notice div.entry-content {
-    clear:left;
-    float:left;
-    margin-left:59px;
-    margin-top: 10px;
-}
-
-.entry-content .repeat {
+.entry-metadata .repeat {
     display: block;
 }
 
-.entry-content .repeat .photo {
+.entry-metadata .repeat .u-photo {
 float:none;
 margin-right:1px;
 position:relative;
@@ -742,11 +728,19 @@ top:4px;
 left:0;
 }
 
+.entry-metadata {
+    clear: left;
+    float: left;
+    font-size: 0.88em;
+}
+
+.entry-metadata, .notice-options {
+    margin-bottom: 7px;
+    margin-top: 12px;
+}
+
 .notice-options {
     float: right;    
-    margin-top: 12px;
-    margin-right: -6px;
-    margin-bottom: 10px;
 }
 
 .notice-options fieldset {
@@ -858,10 +852,10 @@ content: ":";
     clear: both;
     float: left;
     width: 458px;
-    margin-left: 59px;
-    margin-top: 10px;
+    margin-left: 55px;
     margin-bottom: 10px;
     padding-right: 2px;
+    padding-top: 5px;
     border-left: 3px solid #ECECF2;
     background: #fafafa;
     color: #222;
@@ -872,10 +866,6 @@ content: ":";
     margin-bottom: 0px; 
 }
 
-.user_in .threaded-replies {
-    margin-top: 0px;
-}
-
 #content .notice .threaded-replies .notice,
 #content .notice .threaded-replies .notice-data { 
     width: 440px;
@@ -889,34 +879,27 @@ content: ":";
     background: none;
 }
 
+#content .notice .threaded-replies .h-entry,
 #content .notice .threaded-replies .entry-title {
     min-height: 1px;
 }
 
-#content .threaded-replies .notice .author .photo {
+#content .threaded-replies .notice .p-author .u-photo {
     height: 24px;
     width: 24px;
     top: 12px;
 }
 
-#content .notice .threaded-replies .notice .entry-title {
-    margin: 2px 7px 0px 35px;
+#content .notice .threaded-replies .notice .h-entry p.e-content {
+    margin-left: 32px;
 }
 
-#content .notice .threaded-replies .notice div.entry-content {
-    clear:left;
-    float:left;
-    margin-left: 35px;
-    margin-top: 6px !important;
-}
-
-#content .notice .threaded-replies .notice div.entry-content.notice-faves {
-    margin-top: 2px !important;
+#content .notice .threaded-replies .notice div.e-content {
+    margin-left: 32px;
 }
 
-#content .notice .threaded-replies .notice .notice-options {
-    margin-top: 5px;
-    margin-bottom: 0px;
+#content .notice .threaded-replies .notice div.e-content.notice-faves {
+    clear: both;
 }
 
 .threaded-replies li {
@@ -986,11 +969,6 @@ content: ":";
     width: auto;
 }
 
-#conversation .notices .threaded-replies {
-    margin-left: 59px;
-    background: #fafafa;
-}
-
 #conversation .notices .notices .notices .notices .notices .notices .notices .notices .notices .notices .notices .notices .notices  {
     background: none;
     margin-left: 0px;
@@ -1003,7 +981,12 @@ content: ":";
 clear:both;
 }
 
-.section .vcard .photo {
+.notice p.e-content {
+    clear: none;
+    display: block;
+}
+
+.section .h-card .u-photo {
 margin-right:7px;
 margin-bottom:0;
 }
@@ -1021,8 +1004,9 @@ padding-top:0;
 .section .notice .author {
 margin-right:0;
 }
-.section .notice .author .fn {
-display:none;
+
+.p-name.metadata {
+    display:none;
 }
 
 #aside_primary ol.notices {
@@ -1084,12 +1068,9 @@ content: ":";
     margin-bottom: 8px;
     display: inline;
 }
-.section .entities li .photo {
+.section .entities li .u-photo {
     margin: 0;
 }
-.section .entities li .fn {
-    display: none;
-}
 
 .tag-cloud {
 list-style-type:none;
@@ -1160,7 +1141,7 @@ clear:both;
 margin-bottom:18px;
 }
 
-.entry-content .success {
+.e-content .success {
     padding: 6px;
 }
 
@@ -1477,16 +1458,20 @@ margin-left:11px;
 width:auto;
 }
 
-.hentry .entry-content .form_settings ul {
+.h-entry .e-content .form_settings ul {
 margin-left:0;
 }
 
-.limited-scope .entry-content .timestamp:before {
+.entry-metadata .timestamp span.p-name {
+    display: none;
+}
+
+.limited-scope .e-content .timestamp:before {
 content:'☠';
 font-size:150%;
 }
 
-#content .notice-source-activity div.entry-title, .notice-source-activity div.entry-content {
+#content .notice-source-activity div.entry-title, .notice-source-activity div.e-content {
     margin-left: 0;
 } 
 
@@ -1609,25 +1594,25 @@ height:16px;
 margin-left:0;
 }
 
-.entity_profile .nickname {
+.entity_profile .p-nickname {
     font-size:1.4em;
 }
 
-.entity_profile .fn {
+.entity_profile .p-name {
     font-size: 1.2em;
     clear: left;
 }
 
-.entity_profile .fn:before {
+.entity_profile .p-name:before {
 content: "(";
 font-weight:normal;
 }
-.entity_profile .fn:after {
+.entity_profile .p-name:after {
 content: ")";
 font-weight:normal;
 }
-.entity_profile .nickname:after,
-.entity_profile .nickname:before {
+.entity_profile .p-nickname:after,
+.entity_profile .p-nickname:before {
 content:"";
 }
 .entity_profile dt,
@@ -1884,13 +1869,13 @@ display:none;
     margin-bottom: 20px;
 }
 
-.profile .entity_profile .fn.nickname,
-.profile .entity_profile .url[rel~=contact] {
+.profile .entity_profile .p-name,
+.profile .entity_profile .u-url[rel~=contact] {
 margin-left:0;
 display:inline;
 }
 
-.profile .entity_profile .fn,
+.profile .entity_profile .p-name,
 .profile .entity_profile .label {
 margin-left:11px;
 margin-bottom:4px;
@@ -1899,10 +1884,10 @@ clear:none;
 }
 
 .profile .entity_profile .note,
-.profile .entity_profile .url,
+.profile .entity_profile .u-url,
 .profile .entity_profile .entity_tags,
 .profile .entity_profile .form_subscription_edit {
-margin-left:59px;
+margin-left:55px;
 clear:none;
 display:block;
 width:auto;
@@ -1933,7 +1918,7 @@ min-height: 90px;
 list-style: none;
 }
 
-.peopletag .entry-content {
+.peopletag .e-content {
 width:auto;
 }
 
@@ -1976,13 +1961,13 @@ font-weight:normal;
 margin-right:10px;
 }
 
-.profile-lister li .photo {
+.profile-lister li .u-photo {
 display:inline;
 margin-right:7px;
 margin-bottom:-5px;
 }
 
-.profile-lister li .fn {
+.profile-lister li .p-name {
 font-weight:bold;
 }
 
@@ -2082,8 +2067,8 @@ width:68%;
 #showapplication .entity_profile .entity_fn {
 margin-left:0;
 }
-#showapplication .entity_profile .fn:before,
-#showapplication .entity_profile .fn:after {
+#showapplication .entity_profile .p-name:before,
+#showapplication .entity_profile .p-name:after {
 content:'';
 }
 #showapplication .entity_data {
index ed5af43da2317bfe0383dca66d85af195ba2b347..dce214f07b029f6d5a9bc08781b3ba77cd9bd8fe 100644 (file)
@@ -421,28 +421,22 @@ h6 {font-size: 1em;}
     border-bottom: 2px dotted #eee;
 }
 
-.notice div.entry-content {
-    font-size: 0.88em;
+.notice div.e-content {
     line-height: 1.2em;
-    margin-top: 6px;
 }
 
-.user_in .notice div.entry-content {
+.user_in .notice div.e-content {
     max-width: 440px;
 }
 
-.entry-content a.conversation:before {
+.e-content a.conversation:before {
        content: " (";
 }
 
-.entry-content a.conversation:after {
+.e-content a.conversation:after {
        content: ")";
 }
 
-.notice-options {
-    margin-top: 4px;
-}
-
 .notice-options .form_repeat.dialogbox {
     margin-right: 0px;
     border: 1px solid #aaa;
@@ -459,11 +453,7 @@ h6 {font-size: 1em;}
     min-width: 80px;
 }
 
-#content .threaded-replies .notice .author .photo {
-    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
-}
-
-.user_in.realtime-popup .notice div.entry-content {
+.user_in.realtime-popup .notice div.e-content {
     max-width: 320px;
 }
 
@@ -747,31 +737,31 @@ padding-right:0;
 
 /* Limited-scope */
 
-.limited-scope .entry-content .timestamp {
+.limited-scope .e-content .timestamp {
     padding-left: 20px;
     position: relative;
 }
 
-.limited-scope .entry-content .timestamp:before {
+.limited-scope .e-content .timestamp:before {
     content: url(../images/lock.png);
     position: absolute;
     top: -2px;
     left: 0px;
 }
 
-.limited-scope li .entry-content .timestamp {
+.limited-scope li .e-content .timestamp {
     padding-left: 0px;
 }
 
-.limited-scope li .entry-content .timestamp:before {
+.limited-scope li .e-content .timestamp:before {
     content: none;
 }
 
-.limited-scope li.limited-scope .entry-content .timestamp {
+.limited-scope li.limited-scope .e-content .timestamp {
     padding-left: 20px;
 }
 
-.limited-scope li.limited-scope .entry-content .timestamp:before {
+.limited-scope li.limited-scope .e-content .timestamp:before {
     content: url(../images/lock.png);
     position: absolute;
     top: -2px;
@@ -970,13 +960,13 @@ td.entity_profile {
     min-width: 250px;
 }
 
-.profile_list .fn {
+.profile_list .p-name {
     display: block;
     font-size: 1.1em;
     width: auto;
 }
 
-.profile_list .nickname, .profile_list .fn.nickname {
+.profile_list .nickname, .profile_list .p-name.nickname {
     position: relative;
     top: -8px;
     display: block;
index 7d044213a36ec9ffc44f8624197907e69cd3e163..efc1bea4b1ea280bc4a387f60c42cba87095ffbe 100644 (file)
@@ -15,7 +15,7 @@ span.rtl{
     direction: rtl !important;
 }
 
-#content .notice .entry-title{
+#content .notice .h-entry {
     direction: ltr;
 }
 
@@ -27,12 +27,12 @@ span.rtl{
     float: left;
 }
 
-.notice div.entry-content {
+.notice div.e-content {
     float: right;
     clear: right;
 }
 
-#content .notice .threaded-replies .notice div.entry-content{
+#content .notice .threaded-replies .notice div.e-content{
     clear: right;
     float: right;
 }
@@ -86,7 +86,7 @@ address{
     margin-left: 0;
 }
 
-.notice p.entry-content {
+.notice p.e-content {
     float: left;
 }
 
@@ -104,15 +104,7 @@ address{
 /*    background-position: right center; */
 }
 
-#content .notice .threaded-replies .notice .entry-title{
-    margin: 2px 35px 0 7px;
-}
-
-#content .notice .entry-title {
-    margin: 2px 59px 0 7px;
-}
-
-#content .notice .author .photo{
+#content .notice .author .u-photo{
     right: 0;
     left: auto;
 }
@@ -121,12 +113,12 @@ address{
     float: left;
 }
 
-.notice div.entry-content {
+.notice div.e-content {
     margin-right: 59px;
     margin-left: 0;
 }
 
-#core .vcard .photo {
+#core .h-card .u-photo {
     margin-left: 11px;
     margin-right: 0;
 }
@@ -135,14 +127,10 @@ address{
     margin: 2px 10px 4px 0;
 }
 
-#shownotice .notice div.entry-content {
+#shownotice .notice div.e-content {
     margin-right: 0;
 }
 
-.notice .addressees:before {
-    content: '\25C2';
-}
-
 #content thead th {
     text-align: right;
 }
@@ -270,12 +258,12 @@ select {
     float: left;
 }
 
-.profile .entity_profile .fn, .profile .entity_profile .label {
+.profile .entity_profile .p-name, .profile .entity_profile .label {
     margin-right: 11px;
     margin-left: 0;
 }
 
-#core .vcard .photo {
+#core .h-card .u-photo {
     float: right;
 }
 
@@ -302,16 +290,16 @@ select {
     margin-right: 0;
 }
 
-#showstream .notice .entry-title, #showstream .notice div.entry-content {
+#showstream .notice .h-entry, #showstream .notice div.e-content {
     margin-right: 0;
 }
 
-.limited-scope .entry-content .timestamp:before {
+.limited-scope .e-content .timestamp:before {
     right: 0;
     left: auto;
 }
 
-.limited-scope .entry-content .timestamp {
+.limited-scope .e-content .timestamp {
     padding-left: 0;
     padding-right: 20px;
 }