---
layout: post
title: '博客系统由 WordPress 更换成 OpooPress'
date: '2013-06-28 20:55'
comments: true
categories: ['website']
published: false
tags: ['opoopress']
url: '/wordpress-to-opoopress/'
keywords: 'OpooPress, WordPress, 博客迁移'
description: '本站博客系统由 WordPress 更换成 OpooPress——一个基于 Java 的静态博客生成器。'
---

即日起,本站博客系统由 [WordPress](http://wordpress.org/) 变更为 [OpooPress](http://press.opoo.org/)。

OpooPress 是博主自行开发的一个静态博客生成器,使用 [Java](http://www.oracle.com/technetwork/java/index.html) 语言和 [FreeMarker](http://www.freemarker.org/) 模板开发 `生成器` 部分,默认带一个支持 CSS3 响应式设计的主题。

<!--more-->

OpooPress 在开发过程中,仔细研究了 [Jekyll](http://jekyllrb.com) 和 [Octopress](http://octopress.org/),代码参考了 Jekyll 的 Ruby 源代码,主题则主要来自于 Octopress。最初的本意只是为不熟悉 Ruby 的开发者提供一个 Java 版本的 Octopress,也与 Octopress 作者 Brandon Mathis 沟通过。但在后来的开发过程中发现这不仅仅是两个编程语言间的翻译,还涉及到 Java 体系与 Ruby 体系之间的转换,两种体系的设计架构、代码组织和可利用的包都是不同的,比如需要纯 Java 版的 `SASS/Compass` 编译器就很难。

OpooPress 的源文件格式与 Jekyll/Octopress 的相同,每个文件带有一个 [YAML front matter](http://jekyllrb.com/docs/frontmatter/) 的头部,正文内容可以使用 HTML 或者 Markdown 语法格式,可以穿插 FreeMarker 模板代码,将来的插件可能使用这种机制完成。OpooPress 的页面布局也暂时与 Octopress 相似,一个好处就是可以直接使用 Octopress 主题的样式单。



* 生成器
    * standalone 版:一个基于普通命令行的独立发行版本,只要装有 Java 即可以使用,跨平台。执行命令就像这样 `press install`,`press build` 和 `press deploy`。目前支持的发布协议主要是文件系统和 `SSH/SCP`,也是最常用的,满足最基本的需求。
  
    * maven plugin 版:该版本基础功能同独立发行包,但发布功能将更强大,凡是 `mvn deploy` 支持 OpooPress 都支持。例如可以发布到 `FTP`, `WebDAV` 等,具体可参考 [Apache Maven Wagon](http://maven.apache.org/wagon/)。通过 GitHub 的一个插件,还可以发布到 [GitHub Pages](http://pages.github.com/),估计这是许多人所需要的。

* 主题
    * 模板:FreeMarker 模板文件。
    * 源文件:`页面`、`文章`以及其它包含有 FreeMarker 代码(例如${'$'}{site.url})的文件,必须包含  [YAML front matter](http://jekyllrb.com/docs/frontmatter/) 。
    * 静态文件:图片、样式单、JavaScript 脚本等文件,这些文件可以放在源文件中,但单独存放有利于博客生成速度。
    * SASS/SCSS:样式单源文件。

   
暂时就写这么多。

OpooPress 的产品网站 [OpooPress.com](http://opoopress.com/),文档、帮助将会发布在那里。

一个 beta 版的 stanalone 包将在不久的将来发布,源代码也将提交到 GitHub,敬请关注。