impressjs 与 introjs 的一个初步整合尝试

把 impressjs 和 introjs 做了一个整合尝试,之前就预料可能无法轻易整合成功,果不其然,出来后的效果还是很糟糕,具体见:

http://exp.xiaogd.net/demo/tour/impressjs_features_tour.html

虽然存在严重缺陷,不过考虑到尝试做了,还是把它放出来,以后看看能否进一步改进吧。

具体问题一是破坏了 impressjs 的布局,原因初步看来是两者在 transform 属性使用上的冲突,而且看起来不好解决,因为两者都重度依赖这些。

二者在 mask 上也存在问题,比如在遮罩时下面的文字都看不清了。

其它一些问题还有比如快捷键方面的冲突(暂时没有找到规避的方式,双方似乎都没有考虑过这个问题),动态显示的元素无法定位(暂时的解决方式是让其不要隐藏)等等。

可以说,introjs 在“无侵入性”方面还是有待提高。

怎么说好呢,过于 tricky 的东西往往就是这样,它们很精巧,可它们也很容易受到破坏,尤其你把它们弄到一块时,结局往往是互相伤害~

当你采用一些框架时,你的想法是不用重复发明轮子,很快就能得到某些东西。但是一旦整合出现问题,你会发现你马上陷入一种尴尬中,你不得不深入到那些实现的细节中,然后之前节省的功夫又全部赔进去了,而且糟糕的是你可能会发现冲突无法调和或者要费老大的劲才能解决。

最糟糕的结果就是“从入门到放弃”,然后还是不得不重复发明轮子,唯一的好处或许就是到时再造轮子时还有个参考……

intro.js——一个产品特性导航(指南) js 框架

介绍了一个产品特性导航(product features tour) js 框架——intro.js

所谓“产品导航(product tour)”或者说“特性指南(features guide)”,就是你一开始进入一个网站时,它一步一步(step-by-step)引导你了解网站特性的东西。通常伴随一些全局阴影以及局部高亮的效果以抓住读者的注意力。

如下图所示:

继续阅读“intro.js——一个产品特性导航(指南) js 框架”

minifier——一个 nodejs 的 js 及 css 压缩插件

简要介绍了如何通过 minifier 插件来精简压缩 js 和 css 文件。

minifier 是一个 nodejs 下的用于压缩 js 和 css 文件的插件。

首先确保已经安装了 nodejs 的环境,然后通过以下命令安装此插件: 继续阅读“minifier——一个 nodejs 的 js 及 css 压缩插件”

在 ftp 工具 WinScp 中显示 linux 隐藏文件

有时候需要修改 linux 系统上的文件,我一般都是通过 ftp 工具在 Windows 端来完成,因为实在受不了 vi 那种有模式的编辑器的操作习惯。

记得前阵有个新闻说 stackoverflow 已经帮助过 100 万用户退出 vi 了~

但是 ftp 工具缺省不会显示 linux 中的隐藏文件,但有时又需要修改它们,那要怎么调整呢?

以 WinScp 这款工具来说,在菜单中找到“Options(或 Views)–preferences”,在弹出的窗口中选择“Panels—show hidden files”,将复选框勾上,如下图所示:

image

这样就 OK 啦。

两款免费开源图片处理软件介绍——GIMP(位图)和 Inkscape(矢量图)

写博客有时免不了要做些图,我现在一般使用 GIMP 和 Inkscape 来做。一个处理位图,一个处理矢量图。

这两款软件的好处首先就是开源免费的。 继续阅读“两款免费开源图片处理软件介绍——GIMP(位图)和 Inkscape(矢量图)”

Maven 中设置工程的语言编译级别(compiler level)

Maven 工程缺省的情况下,它的编译级别(compiler level)是 JDK 1.5 这一级。对于现在的许多项目而言,这已经太老了,很多特性也不支持,所以,我们通常需要定义自己所需要的语言级别。

具体而言,有两种方式,一是添加两个属性值,另外是配置 compiler plugin,详细参考:http://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html

设置属性值

在 pom.xml 的 properties 标签中加入以下属性值:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<!-- ... 其它配置略 -->

	<properties>
          <maven.compiler.source>1.8</maven.compiler.source>
          <maven.compiler.target>1.8</maven.compiler.target>
        </properties>
</project>

设置 compiler plugin

如果上述设置在某些情况下还不行,则也可以通过设置 compiler plugin 来实现,这点可以通过在 pom.xml 文件的 build 节点下的 plugins 节点下面增加一个 maven-compiler-plugin 来实现,具体如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<!-- ... 其它配置略 -->

	<build>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.1</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

以上配置将语言级别设置为 Java 1.8,你也可以根据需要设为 1.7 或 1.6.

之后,在工程下:右键–maven–update project 来重新编译整个项目。(适用于 Eclipse)

Maven 中央仓库访问过慢的解决方案——设置国内镜像

介绍了如何设置 maven 中央仓库的国内镜像以解决访问速度过慢等问题。

在现今的 Java 开发活动中,无论你是用古老的 Ant,还是 Maven 本身,亦或是 Gradle,你都经常需要访问 Maven 的中央仓库以获取所依赖的包。鉴于中央仓库的访问巨大,再背上我们特殊国情的友军火力的锅,获取依赖的过程中经常慢得令人发指,甚至导致构建失败,IDE 失去响应等等。 继续阅读“Maven 中央仓库访问过慢的解决方案——设置国内镜像”