Oct 23

该插件可以让你通过 <!--page--> 注释标签来将一个长篇文章分页显示,效果见NirSoft Software Collection

之所以叫“虚拟分页”,是因为本插件只是通过Javascript+CSS来隐藏部分页内容,所以实际上文章内容在页面载入时是全部加载的。Virtual Pagination不能提高你的长篇文章载入速度,但是可以很好的控制文章的版面长度,至于切换页面,当然是实时的了。

插件的使用很简单,下载解压后把vpage目录上传到WordPress的Plugins目录下,在后台激活Virtual Pagination;在文章中通过<!--page--> 来进行分页。

注意:使用本插件用<!--page-->分页时,有分页文章的页面可能不能通过XHTML验证,原因是WordPress的wpautop生成了一些多余的未封闭的p标签。通常这并不影响显示效果。

如果您特别在意,目前解决的办法是,文章手工分段(或者使用内置的所见即所得编辑器),然后使用在分页文章的自定义字段添加:“killautop”(不包括引号),值为 1

Install Notes (English):

This plugin allows long post to be split across multiple Virtual Page,and switch pages realtime.

DEMO: NirSoft Software Collection

1. Download and extract it,then upload to your wordpress plugins directory.

2. Activate it in administrator’s interface.

3. Use:
< linenum="off">

or [!--page--]

tag to pagination the post.

4. If you care about XHTML ,you can add a custom field of 'killautop' set to '1' to this paged post to disable the auto formatting.


Sep 23

如果你想在文章中嵌入超高分辨率的图片,或者非常大的截图,又或者是360度全景图片,怎么办?用传统的缩略图方式,超级链接打开原图?那要是图片有几十M几百M呢?

Zoomify就能很完美的解决嵌入巨型图片的问题。它把文件分割处理后用Flash载入,然后用户可以在当前页面来查看这些巨大的图片,效果非常类似与Google Earth,请看:

<div sytle="text-align:center;padding:5px;border: 1px solid #CCCCCC;">
<OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" CODEBASE="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab\
#version="
WIDTH="600" HEIGHT="450" ID="theMovie">
<PARAM NAME="FlashVars"
VALUE="zoomifyImagePath=http://newjp9.3322.org/worldmap/&zoomifyX=0.0
&zoomifyY=0.0&zoomifyZoom=-1&zoomifyToolbar=1&zoomifyNavWindow=1">
<PARAM NAME="src" VALUE="http://newjp9.3322.org/zoomifyViewer.swf">
<EMBED FlashVars="zoomifyImagePath=http://newjp9.3322.org/worldmap/&zoomifyX=0.0&\
amp;zoomifyY=0.0
&zoomifyZoom=-1&zoomifyToolbar=1&zoomifyNavWindow=1"
SRC="http://newjp9.3322.org/zoomifyViewer.swf"
PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"
WIDTH="600" HEIGHT="450" NAME="theMovie"></EMBED>
</OBJECT>
</div>

上面的示例WorldMap,原图为8323px*5793px大小,文件尺寸10.1M;您还可以去官方观看一些演示,比如这个: 城市地图,原图文件尺寸为 254M!

用Zoomify发布图片的过程很简单:

1) 去官方下载 Zoomify Express,它是Zoomify的轻量级版本,完全免费,一般用户足够用了;
2) 解压后运行Zoomifyer EZ v3.0.exe,选中需要嵌入的图片,Zoomify会生成一个以图片名为名称的目录;
3) 把这个目录和zoomifyViewer.swf上传到你的服务器;
4) 用下面的代码嵌入你的Blog或者其他文章:

<OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" CODEBASE="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#\
version=6,0,40,0"
WIDTH="600" HEIGHT="450" ID="theMovie">
<PARAM NAME="FlashVars" VALUE="zoomifyImagePath=https://www.quakemachinex.com/blog/Zoomifyer/你的图片/&zoomifyX=0.0
&zoomifyY=0.0&zoomifyZoom=-1&zoomifyToolbar=1&zoomifyNavWindow=1">
<PARAM NAME="src" VALUE="https://www.quakemachinex.com/blog/Zoomifyer/zoomifyViewer.swf">
<EMBED FlashVars="zoomifyImagePath=https://www.quakemachinex.com/blog/Zoomifyer/你的图片/&\
zoomifyX=0.0&zoomifyY=0.0
&zoomifyZoom=-1&zoomifyToolbar=1&zoomifyNavWindow=1"
SRC="https://www.quakemachinex.com/blog/Zoomifyer/zoomifyViewer.swf"
PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"
WIDTH="600" HEIGHT="450" NAME="theMovie"></EMBED>
</OBJECT>

可接受的参数:

用 '&' 来分割传递参数;
zoomifyImagePath: 你的图片目录路径
zoomifyMinZoom: 1 to 100, 最小缩放比例,-1填充显示区域;
zoomifyMaxZoom: 1 to 100, 最大缩放比例,-1填充显示区域;
zoomifyNavWindow: 是否显示导航窗口,1 显示, 0 隐藏;
zoomifyToolbar: 是否显示工具条,1 显示, 0 隐藏;
zoomifyX: initial view X, -1 to 1, 图片位置,0 则X居中;
zoomifyY: initial view Y, -1 to 1, 图片位置,0 则Y居中;
zoomifyZoom: 1 to 100, 缩放比例,-1填充显示区域;
zoomifySlider: 是否显示滑动条,1 显示, 0 隐藏;

要注意的就是 zoomifyImagePath 和 zoomifyViewer.swf 的路径都要改成适合你自己服务器的。

Zoomify通过亢余算法来分割图片,所以产生的图片目录占用空间要比原图更大,以上面那张世界地图为例,一张10M的图片,生成图片目录后包括了1042张分割图片,占用18M左右空间。


Sep 10

一直想做一个实时预览文章的东西,却不知道做在哪好。现在终于完成了,请看本站的“文章检索”页面。

舍弃了华丽但是臃肿的af-extended-live-archive,换用了Viper007Bond同学的Clean Archives Reloaded,特别欣赏作者对JS代码随用随载的方法,而不是一股脑全往Header里面丢。

看到文章列表后面那个小图标了吗?点它!---这就是我加的一点小佐料:文章实时预览。

参考ajaxwp,改变思路,用WordPress原本的方式渲染文章,用脚本访问 ajax-wp.php:


<?php
/**
 * AjaxWp - An AJAX enchancement for Wordpress
 * Copyright (c) 2006, Gianni Milanesi <gianni@giannim.com>
 *
 * AjaxWp is freely distributable under the terms of an MIT-style license.
 * For details, see the AjaxWp web site: http://www.giannim.com/projects/ajax-wp
 *
 */
	$postid = $_GET['postid'];
	require('../../../wp-blog-header.php');
	// Load the requested posts
	query_posts('p='.$postid);
	include("ajax-single.php");
?>

其中ajax-single.php则为原模板single.php去掉头尾等多余内容而来:


<div id="content">
	<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
		<div class="entry">
		<div class="post" id="post-<?php the_ID(); ?>">
			<h2><a href="<?php echo get_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title('-image-'); ?></a></h2>
			<?php the_content('<p class="serif">Read the rest of this entry &raquo;</p>'); ?>
			<?php wp_link_pages(array('before' => '<p><strong>Pages:</strong> ', 'after' => '</p>', 'next_or_number' => 'number')); ?><br />
	<?php endwhile; else: ?>
		<div class="entry">
			<p>Sorry, no posts matched your criteria.</p>
		</div>
    <?php endif; ?>
</div>

我希望能得到一些意见建议,如果把这东西处理好了,做成插件应该是蛮好的。


Aug 31

Testor

Life | 2 评论 » | Trackback | FavLinks | 3,304 次阅读

我在玩Q3的时候经常死机或者系统崩溃,我该怎么办?

造成出错的原因是多方面的,试试下面的解决方案:

1.如果你在用GF4显卡,而且你的驱动是NV FORCEWARE 50.03-5303,请升级你的驱动到最新版本或者使用DETONATOR 45.23;已知5X.XX版本的驱动和Q3,PB是有冲突的;

2.检查你的CFG里面PB_SYSTEM参数的设定,通常设为"1"可以在游戏中得到较好的性能,但是如果在游戏中出现锁定或者死机现象,设为"0"试试;

3.CPU,显卡超频显然会影响系统的稳定性,可能在其他游戏没有表现出来,而在Q3或者Q3+PB的情况下就会死机;

4.如果你在WIN2000系统使用AMD的CPU,可能需要一个系统交换文件的补丁,可以去AMD官方下载.

http://www.amd.com/us-en/Processors/TechnicalResources/0,,30_182_871_2367,00.html

5.在控制面板-多媒体属性-高级里面,降低声卡的硬件加速一格,通常可以解决一些问题.声霸LIVE!系列在5.1之前的版本可能会和ACPI有冲突,建议禁用ACPI和IRQ STEERING.

6.如果你在用AMD 750/751芯片的主板,在BIOS中禁用"SuperByPass";

7.在BIOS的显存(VIDEO MEMEORY)设置项目中,设置为UC而不是USWC;

8.一些主板和显卡并不能稳定的支持AGP 8X,4X,在BIOS中强制设定为4X,2X或者1X,这对玩Q3来说,没有什么可见的性能损失;

9.使用VIA,SIS,NVFORCE这些芯片组主板的,一定要使用最新的驱动.

10.PB在运行的时候会涉及到WINDOWS API(底层操作),而且比其他大多数软件可能要更深一层次.所以,在这种情况下,系统的不稳定会比通常情况更加容易暴露.以下可以帮助你修正和解决这些问题.

The player will show in this paragraph

如果你在NT4/2K/XP下面运行游戏,你可以尝试降低游戏的运行优先级.你可以在任务管理器里面右键选择你需要更改的游戏,在优先级选项选"低于正常";或者你可以通过命令行或者批处理文件,内容如: "start /belownormal g:\games\quake\quake3.exe"
来运行游戏.这样不会降低你游戏的性能(或者是很小的影响,这取决于你同时运行的其他程序的数量)

确定你使用的是最新版本的PB,你可以通过去www.evenbalance.com网站下载或是通过...控制台,输入/pb_ system 1 ,可以查看你当前运行的PB的版本信息.

在你进入游戏前,千万不要通过任务管理器来关闭其他程序,索性让他开着,或者用正常的途径关闭/退出这些程序.--------这里插一句,游戏前,关闭你的浏览器,例如MYIE,和病毒防火墙实时监控引擎,在Q3可以获得20-40FPS的提升. 应为通过任务管理器关闭的程序,虽然在任务管理器已经看不到,实际上还有线程可能在内存中运行,这种残余的线程与PB在一起会使系统不稳定.这里介绍一个免费软件ENAITALL,它可以正常关闭所有额外(指非WINDOWS运行必须)的程序,从而极大的减少在进行游戏的时候系统死机的几率.

检查你控制面板的 添加/删除程序 项目,尽量删除不必要的程序.已知 Norton Anti-Virus与PB可能会有冲突,如果你安装了,卸载它看看能不能解决问题.有些玩家通过这样解决了问题,而且重安装NV也不会出问题了.

一些后台程序,例如创新声霸卡LIVE的帮助程序,ATI显卡的键盘快捷程序.

一些玩家发现是病毒的影响,当他们杀毒以后系统死锁的现象没了.

试着在控制台调整你的PB_SLEEP参数值,取20,250或者500看看对你的游戏的故障性能有没有改善.有部分玩家通过调整这个参数解决了问题.

极端的情况,一部分玩家报告说他们通过更换内存条/声卡或者显卡才解决问题.

很多时候,特别是PB有升级文件的时候,在你第一次进入游戏前5秒到30秒不等,你的机器会很LAG甚至FPS变得很低,这是因为PB在编译它特殊的HTM文件到最终的DLL文件,请不要惊慌.