小编Pek*_*ila的帖子

静态网站生成

我需要一种简单的方法来生成静态网页,以便我可以使用Apache或Nginx提供它们.目前我正在使用SproutCore的构建工具(Abbot)来生成静态页面,但这有点麻烦,因为它是为构建SproutCore应用程序而非非SproutCore HTML页面而设计的.

这是我的要求:

  • Javascript必须合并和缩小
  • 必须组合CSS文件
  • 每个image/CSS/Javascript资产必须具有唯一的URL才能获得更好的缓存(查询字符串不够)
  • 资产URL只有在真正发生变化时才会有所不同
  • 本地化支持彻底的HTML,CSS,Javascript和图像文件
  • 漂亮的模板引擎与布局,局部等.

以下是我找到的可能的解决方案:

有什么想法吗?

经过漫长的评估过程,我决定使用Middleman.它可以解决问题,我喜欢它的简单性以及我可以使用现有的Rack组件.

最好的祝福,

佩卡·马蒂拉

ruby ruby-on-rails-plugins ruby-on-rails-3 middleman

16
推荐指数
1
解决办法
5130
查看次数

带有TOC的Jekyll PDF文档

我想用Jekyll编写带有HTML和PDF输出的文档.Html可以有导航,但PDF应该有目录.有一种免费且简单的方法吗?

HTML部分很简单,但我想使用@media print CSS制作PDF文件.

我有一些想法如何做到这一点.

  1. 使用PrinceXML,不幸的是这是商品,价格很贵〜$ 500
  2. 使用WKHTMLTOPDF
  3. 使用Maruku,因为可以使用它进行PDF转换

我想有多页HTML和单页PDF与TOC.有什么建议?

顺便说一句.Buildr使用PrinceXML解决了这个问题.

pdf maruku jekyll princexml wkhtmltopdf

14
推荐指数
1
解决办法
5797
查看次数

Scala的最佳功能是什么?

我可以说我真的很喜欢Scala但现在我想知道在使用Scala时你不能没有的功能吗?Scala 2.8怎么样?

programming-languages scala

11
推荐指数
4
解决办法
2519
查看次数

在Scala中访问类外部的类型成员

我试图了解Scala中的类型成员.我写了一个简单的例子,试图解释我的问题.

首先,我为类型创建了两个类:

class BaseclassForTypes
class OwnType extends BaseclassForTypes
Run Code Online (Sandbox Code Playgroud)

然后,我在trait中定义了一个抽象类型成员,然后在一个concerete类中定义了类型成员:

trait ScalaTypesTest {
  type T <: BaseclassForTypes

  def returnType: T
}

class ScalaTypesTestImpl extends ScalaTypesTest {
  type T = OwnType

  override def returnType: T = {
    new T
  }
} 
Run Code Online (Sandbox Code Playgroud)

然后,我想访问类型成员(是的,这里不需要类型,但这解释了我的问题).两个例子都有效.

解决方案1.声明类型,但问题是它不使用类型成员并且类型信息是重复的(调用者和被调用者).

val typeTest = new ScalaTypesTestImpl
val typeObject:OwnType = typeTest.returnType // declare the type second time here
true must beTrue
Run Code Online (Sandbox Code Playgroud)

解决方案2.初始化类并通过对象使用类型.我不喜欢这个,因为这个类需要初始化

val typeTest = new ScalaTypesTestImpl
val typeObject:typeTest.T = typeTest.returnType // through an instance
true must beTrue
Run Code Online (Sandbox Code Playgroud)

那么,有没有更好的方法来实现这一点,或者类型成员是否只用于类的内部实现?

types type-systems programming-languages scala

7
推荐指数
1
解决办法
1821
查看次数

Apache Commons Id UUID版本1代的问题

我的问题是生成版本1 UUID.我们使用Jetty 6.x,Maven(启动Jetty等)和Apache Commons ID(从当前时间生成UUID版本1).

Apache Commons ID需要使用参数向JVM通知配置文件,例如'org.apache.commons.id.uuid.config.resource.filename = commons-id-uuid.xml'.我检查了Apache Commons ID代码,它试图从类路径中找到该文件.Jetty的文档声明WEB-INF/lib和WEB-INF/classes在类路径中.'commons-id-uuid.xml'可以从WEB-INF/classes目录的根部署的war文件中找到,但是Jetty无法加载它:

Message: java.lang.RuntimeException: 
java.lang.IllegalStateException: commons-id-uuid.xml loaded as system resource is null
Run Code Online (Sandbox Code Playgroud)

Jetty使用以下命令启动:

mvn jetty:run -Dorg.apache.commons.id.uuid.config.resource.filename=commons-id-uuid.xml
Run Code Online (Sandbox Code Playgroud)

什么出了什么问题?我们只需要生成UUID版本1标识符.有什么建议?

java uuid jetty classpath apache-commons

2
推荐指数
1
解决办法
6350
查看次数