The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
United-Forum CSS Sprites - ludicrous speed - NOW! Details »» | ||||||||||||||||||||||||||||||||||||||||||||||
United-Forum CSS Sprites - ludicrous speed - NOW!
Developer Last Online: Feb 2013
tl;dr Makes your forum faster.
Want an easy one-click installation for this addon? . Vote for this jira-entry Add on currently is in beta stage When visiting a website, speed is a very important factor not only for users but crawlers as well. Long loading times are a nuisance since your time is basically wasted during the waiting period. Hence, we are trying everything we can in order to speed up our site. One great way to improve loading times is by the use of css sprites. Unfortunately these are not implemented by vBulletin. We therefore decided to develop our own css-sprite add on for vBulletin boards and want to share this code with the worldwide vBulletin community. Live demo The add on is permanently running in our vBulletin board ( > 2.000.000 posts), take a look:vBulletin performance using css sprites Our tests are based on version 0.7.0. We used the analytic tools firebug network utility and the googlelabs.com page speed sitecss sprites - what are they? The intention behind css sprites is the bundling of many small graphics into one large graphic in order to decrease the number of required http requests. This shortens the loading times of the given website. In addition, the the accumulated size of all small graphics is higher than the size of the sprite due to reasons of compression.What is the gain in using css sprites? Aside from the technical implementation, the question on how much one actually does gain by using css sprites is of the most interest. Obviously they decrease loading times - but how important are small loading times and what is the impact on vBulletin overall loading times?Add on features In the current released beta version 0.7.2, sprites are available for FORUMHOME and FORUMDISPLAY. Coming up next SHOWTHREAD.Installation First of all, if you didnt want to change the templates manually, install the Template Modification System (TMS). Now proceed with the installation:
Download Now
Screenshots
Supporters / CoAuthors Show Your Support
|
17 благодарности(ей) от: | ||
archet1337, baktabul, doctorsexy, Fuhrmann, Gnoll, iask, Juggernaut, Kolbi, mathforum, misericorde, neil00027, rodriiverduguez, Skaut, smsma.net, SWSUSA, xorex, yilmaz |
Comments |
#22
|
|||
|
|||
Version 0.6.2 released.
cherylferraro, your problem should be solved in 0.6.2. |
#23
|
|||
|
|||
Now if you can automate the template changes, alot more people would be interested. Thanks.
|
#24
|
|||
|
|||
Andreas has added the corresponding XML-File for the Template Modification System.
http://www.vbulletin-germany.org/sho...5100#post75100 Beside the use of the TMS, i didnt know another way, cause you actually need to replace these lines. |
#25
|
|||
|
|||
ok. Do you mind putting up the template changes in codeboxes again? This is nearly unreadable..
Code:
Template: FORUMHOME 72d72 < <h3 class="blocksubhead"><img src="{vb:stylevar imgdir_misc}/users_online.png" alt="{vb:rawphrase currently_active_users}" />{vb:rawphrase currently_active_users}</h3> --- > <h3 class="blocksubhead"><span class="sprite_misc_users_online" title="{vb:rawphrase currently_active_users}" ></span>{vb:rawphrase currently_active_users}</h3> 90c90 < <h3 class="blocksubhead"><img src="{vb:stylevar imgdir_misc}/event.png" alt="{vb:rawphrase todays_events}" /><vb:if condition="$show['todaysevents']">{vb:rawphrase todays_events}<vb:else />{vb:rawphrase upcoming_events_for_the_next_x_days, {vb:raw vboptions.showevents}}</vb:if></h3> --- > <h3 class="blocksubhead"><span class="sprite_misc_event" title="{vb:rawphrase todays_events}" ></span><vb:if condition="$show['todaysevents']">{vb:rawphrase todays_events}<vb:else />{vb:rawphrase upcoming_events_for_the_next_x_days, {vb:raw vboptions.showevents}}</vb:if></h3> 100c100 < <h3 class="blocksubhead"><img src="{vb:stylevar imgdir_misc}/birthday.png" alt="{vb:rawphrase todays_birthdays}" />{vb:rawphrase todays_birthdays}</h3> --- > <h3 class="blocksubhead"><span class="sprite_misc_birthday" title="{vb:rawphrase todays_birthdays}" ></span>{vb:rawphrase todays_birthdays}</h3> 109c109 < <h3 class="blocksubhead"><img src="{vb:stylevar imgdir_misc}/forum_stats.png" alt="{vb:rawphrase x_statistics, {vb:raw vboptions.bbtitle}}" />{vb:rawphrase x_statistics, {vb:raw vboptions.bbtitle}}</h3> --- > <h3 class="blocksubhead"><span class="sprite_misc_forum_stats" title="{vb:rawphrase x_statistics, {vb:raw vboptions.bbtitle}}" ></span>{vb:rawphrase x_statistics, {vb:raw vboptions.bbtitle}}</h3> 128c128 < <h3 class="blocksubhead"><img src="{vb:stylevar imgdir_misc}/legend.png" alt="{vb:rawphrase icon_legend}" />{vb:rawphrase icon_legend}</h3> --- > <h3 class="blocksubhead"><span class="sprite_misc_legend" title="{vb:rawphrase icon_legend}" ></span>{vb:rawphrase icon_legend}</h3> 131,134c131,134 < <dt><img src="{vb:stylevar imgdir_statusicon}/forum_new-16.png" alt="{vb:rawphrase new_posts_forum}" /></dt><dd>{vb:rawphrase new_posts_forum}</dd> < <dt><img src="{vb:stylevar imgdir_statusicon}/forum_old-16.png" alt="{vb:rawphrase no_new_posts_forum}" /></dt><dd>{vb:rawphrase no_new_posts_forum}</dd> < <dt><img src="{vb:stylevar imgdir_statusicon}/category-16.png" alt="{vb:rawphrase category_forum}" /></dt><dd>{vb:rawphrase category_forum}</dd> < <dt><img src="{vb:stylevar imgdir_statusicon}/forum_link-16.png" alt="{vb:rawphrase link_forum}" /></dt><dd>{vb:rawphrase link_forum}</dd> --- > <dt><span class="sprite_statusicon_forum_new_16"></span></dt><dd>{vb:rawphrase new_posts_forum}</dd> > <dt><span class="sprite_statusicon_forum_old_16"></span></dt><dd>{vb:rawphrase no_new_posts_forum}</dd> > <dt><span class="sprite_statusicon_category_16"></span></dt><dd>{vb:rawphrase category_forum}</dd> > <dt><span class="sprite_statusicon_forum_link_16"></span></dt><dd>{vb:rawphrase link_forum}</dd> Template: forumhome_forumbit_level2_nopost 3c3 < <img src="{vb:stylevar imgdir_statusicon}/category_forum_{vb:raw forum.statusicon}.png" class="forumicon" id="forum_statusicon_{vb:raw forum.forumid}" alt="" /> --- > <span id="forum_statusicon_{vb:raw forum.forumid}" class="forumicon sprite_statusicon_category_forum_{vb:raw forum.statusicon}"></span> Template: forumhome_forumbit_level2_post 4c4 < <img src="{vb:stylevar imgdir_statusicon}/{vb:raw forum.imageprefix}forum_{vb:raw forum.statusicon}-48.png" class="forumicon" id="forum_statusicon_{vb:raw forum.forumid}" alt="" /> --- > <span id="forum_statusicon_{vb:raw forum.forumid}" class="forumicon sprite_statusicon_{vb:raw forum.imageprefix}forum_{vb:raw forum.statusicon}_48"></span> Template: forumhome_lastpostby 3c3,11 < <vb:if condition="$show['icon']"><img src="{vb:raw icon.iconpath}" alt="{vb:raw icon.title}" border="0" /></vb:if> --- > <vb:if condition="$show['icon']"> > <vb:if condition="$lastpostinfo['lasticonid'] == -1"> > <span class="sprite_misc_poll_posticon" title="{vb:raw icon.title}"></span> > <vb:elseif condition="$lastpostinfo['lasticonid'] == 0 && !empty($vbulletin->options['showdeficon'])" /> > <span class="sprite_vbregistry_showdeficon" title="{vb:raw icon.title}"></span> > <vb:else /> > <span class="sprite_icon_{vb:raw lastpostinfo.lasticonid}" title="{vb:raw icon.title}"></span> > </vb:if> > </vb:if> 6c14 < <a href="{vb:link thread, {vb:raw threadinfo}, {vb:raw pageinfo_lastpost}}#post{vb:raw lastpostinfo.lastpostid}"><img src="{vb:stylevar imgdir_button}/lastpost-{vb:stylevar right}.png" alt="{vb:rawphrase go_to_last_post}" /></a> --- > <a href="{vb:link thread, {vb:raw threadinfo}, {vb:raw pageinfo_lastpost}}#post{vb:raw lastpostinfo.lastpostid}"><span class="sprite_button_lastpost_{vb:stylevar right}" title="{vb:rawphrase go_to_last_post}"></span></a> 18c26 < <a href="{vb:link thread, {vb:raw threadinfo}, {vb:raw pageinfo_lastpost}}#post{vb:raw lastpostinfo.lastpostid}"><img src="{vb:stylevar imgdir_button}/lastpost-{vb:stylevar right}.png" alt="{vb:rawphrase go_to_last_post}" /></a> --- > <a href="{vb:link thread, {vb:raw threadinfo}, {vb:raw pageinfo_lastpost}}#post{vb:raw lastpostinfo.lastpostid}"><span class="sprite_button_lastpost_{vb:stylevar right}" title="{vb:rawphrase go_to_last_post}"></span></a> Template: forumhome_subforumbit_nopost 2c2 < <img class="inlineimg" src="{vb:stylevar imgdir_statusicon}/subforum_{vb:raw forum.statusicon}.png" alt="" border="0" id="forum_statusicon_{vb:raw forum.forumid}" /> --- > <span id="forum_statusicon_{vb:raw forum.forumid}" class="inlineimg sprite_statusicon_subforum_{vb:raw forum.statusicon}"></span> Template: forumhome_subforumbit_post 2c2 < <img class="inlineimg" src="{vb:stylevar imgdir_statusicon}/{vb:raw forum.imageprefix}subforum_{vb:raw forum.statusicon}-48.png" alt="" border="0" id="forum_statusicon_{vb:raw forum.forumid}" /> --- > <span id="forum_statusicon_{vb:raw forum.forumid}" class="inlineimg sprite_statusicon_{vb:raw forum.imageprefix}subforum_{vb:raw forum.statusicon}_48"></span> Template: memberaction_dropdown 5c5 < <img src="{vb:stylevar imgdir_siteicons}/profile.png" alt="" /> --- > <span class="sprite_siteicons_profile"></span> 12c12 < <img src="{vb:stylevar imgdir_siteicons}/forum.png" alt="" /> --- > <span class="sprite_siteicons_forum"></span> 20c20 < <img src="{vb:stylevar imgdir_siteicons}/message.png" alt="" /> --- > <span class="sprite_siteicons_message"></span> 29c29 < <img src="{vb:stylevar imgdir_siteicons}/blog.png" alt="" /> --- > <span class="sprite_siteicons_blog"></span> 38c38 < <img src="{vb:stylevar imgdir_siteicons}/homepage.png" alt="" /> --- > <span class="sprite_siteicons_homepage"></span> 47c47 < <img src="{vb:stylevar imgdir_siteicons}/article.png" alt="" /> --- > <span class="sprite_siteicons_article"></span> 56c56 < <img src="{vb:stylevar imgdir_siteicons}/add.png" alt="" /> --- > <span class="sprite_siteicons_add"></span> 65c65 < <img src="{vb:stylevar imgdir_siteicons}/email.png" alt="" /> --- > <span class="sprite_siteicons_email"></span> |
#26
|
|||
|
|||
It's meant to be read like this:
Code:
Template: forumhome_subforumbit_post 2c2 < <img class="inlineimg" src="{vb:stylevar imgdir_statusicon}/{vb:raw forum.imageprefix}subforum_{vb:raw forum.statusicon}-48.png" alt="" border="0" id="forum_statusicon_{vb:raw forum.forumid}" /> --- > <span id="forum_statusicon_{vb:raw forum.forumid}" class="inlineimg sprite_statusicon_{vb:raw forum.imageprefix}subforum_{vb:raw forum.statusicon}_48"></span> translates into: In template: forumhome_subforumbit_post In Line 2 - search for Code:
<img class="inlineimg" src="{vb:stylevar imgdir_statusicon}/{vb:raw forum.imageprefix}subforum_{vb:raw forum.statusicon}-48.png" alt="" border="0" id="forum_statusicon_{vb:raw forum.forumid}" /> Code:
<span id="forum_statusicon_{vb:raw forum.forumid}" class="inlineimg sprite_statusicon_{vb:raw forum.imageprefix}subforum_{vb:raw forum.statusicon}_48"></span> Hope that helps. edit: You do not need any special program to open the diff file. Any editor is enough. It's plain text. Opening it via tortoise svn just adds color coding. |
#27
|
|||
|
|||
oh, I know what it translates into, infact I removed those extra >'s. Alot easier to copy now.
PHP Code:
|
#28
|
|||
|
|||
Also, why isn't the logo added in this list? I'm sure everyone keeps the same logo name. Also I've done some testing and the page loading speed, requests & bytes in (tested with wepbagetest.org and my browsers) are roughly the same without this mod installed.
Also, I notice that on the test skin, the images are forced to reload, ignoring the cache settings that I put in my htaccess. And when I clear my cookies and view the regular skin, they cache fine (according to my browser, webpagetest.org and yslow). You should look into that and I think this is what's causing it. Add ReadMarker Javascript Code:
/images/misc/vbulletin4_logo.png |
#29
|
|||
|
|||
Great great mod, but without forum custom icon support is useless for me
|
#30
|
|||
|
|||
Hello extreme-gaming,
no problem, i putted up the template changes in codeboxes again The extra > and < is to indicate what should be replaced by what, but i understand that it is a little unhandy, if you want to select-copy-replace multiple lines. I am adding icons step by step. Thats why the Logo is currently not added. It is weird, that you didnt noticed a significant drop in the requests, using the addon. Can you send me a link, so i can try your implementation in the test skin? I think you set the expires entity-header and cache-control header in your htaccess for images, right? This should behave totally independent to my addon. I just double checked this an its working correct on our forum. My Browsers sends: Code:
GET /images/sprites/sprite.png HTTP/1.1 If-Modified-Since: Sun, 17 Jul 2011 21:49:42 GMT Code:
HTTP/1.1 304 Not Modified So that this isnt working on your forum seems also a little bit weird. Please send me a link, so i can check this in your test skin and the corresponding .httacces file, so i can check your cache settings. Best regards Sebastian |
#31
|
|||
|
|||
Quote:
what do you mean by forum custom icon? We suppport forumicons with imageprefix and - since this is the main concepts of this addon - customised forumicons since the first release. Check Sprites like: or Best regards Sebastian |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|