Metadata-Version: 1.1
Name: zcms
Version: 0.5.5
Summary: Serve filesystem content via repoze.bfg
Home-page: http://zopen.cn
Author: Agendaless Consulting
Author-email: zhengping@zopen.cn
License: BSD-derived (http://www.repoze.org/LICENSE.txt)
Description: ================================
        zcms : 基于文件系统的超轻CMS
        ================================
        厌倦了各种复杂的CMS建站系统？厌倦了升级，迁移，学习管理... 
        
        然而，Sphinx-doc太单调太简单了，Jekyll也还是太复杂...
        
        那么zcms来了, 一个极简的CMS，都是你熟悉的:
        
        - 无需数据库, 每个页面是一个文本文件
        - 扩展reStructuredText指令(.rst)，轻松实现博客、导航、新闻等动态内容
        - 支持Markdown格式(.md)编写页面
        - 当然支持html页面(.html)
        - 支持多站点
        
        zcms吸取了Jekyll优点，使用python/pyramid开发完成，完全无需任何开发知识即可掌握. 
        
        欢迎微博传播，如有反馈，请微博联系: http://weibo.com/panjunyong
        
        启动服务
        =======================
        准备运行环境:
        
             python bootstrap.py
             bin/buildout
             
        站点制作过程，启动：
        
            ./bin/pserve development.ini
        
        正式使用(缓存加速)，启动：
        
            ./bin/pserve production.ini
        
        示例站点
        =========
        我们易度的所有站点，都采用这个开发完成：
        
        - http://everydo.com
        - http://edodocs.com
        - http://viewer.everydo.com
        - http://czug.org
        - http://zopen.cn
        
        无阻力建站
        ============================
        1. 创建站点文件夹
        
           站点默认放置在sites文件夹下，比如sites/demo
        
        2. 填充站点内容
        
           在站点文件夹下创建子文件夹和页面，子文件夹将自动成为子栏目, index.rst或index.md自动成为子栏目的首页:
        
                demo/  
                    index.rst
                    tour/
                        index.rst
                        install.rst
                        sites.rst
                    blog/
                        index.rst
                        post01.rst
                        post02.rst
                    about.rst
                    img/
                        logo.png
        
        3. 完工，你也看到一个twitter bootstrap风格的站点!
        
           很不完美，后面来完善...
        
        文件夹和页面属性
        ===========================
        站点基本可以工作, 存在的问题：
        
        - 栏目顺序比较随机无序
        - 栏目标题是文件名，可能需要中文标题
        
        每个文件夹下，可以放置一个 _config.yaml 的文件，在这里设置文件夹的属性:
        
            title: 教程                                 # 标题
            order: [index.rst, tour, blog, about.rst]   # 显示顺序
            exclude: [img]                                 # 隐藏图片文件夹的显示
        
        
        对于rst/md的页面文件, 可直接在文件头部指定这些信息:
        
            ---
            title: 教程                                 # 标题
            creator: 潘俊勇                             # 创建人
            created: 2010-12-12 9:12                    # 创建时间，新闻根据这个时间排序
            ---
        
        页面文件的属性，必须以三个短横开始和结束
        
        
        设置左右列以及头部信息
        ========================
        对整个文件夹下的页面模版，可以定制左侧、右侧和头部的显示信息，分别加入：
        
        1. _left.rst
        2. _right.rst
        3. _upper.rst
        
        如果具体某个页面，需要定制，也可以单独设置，通过命名来区分：
        
        1. index.rst 页面的头部信息 _upper_index.rst
        2. about.rst 页面的左侧信息 _left_about.rst
        
        动态内容
        =======================
        可在reST中使用如下指令即可：
        
        1. 最近新闻
        
                 .. news::
                    :size: 5
                    :path: blog
        
        2. 博客页面
        
                 .. blogs::
                    :size: 20
        
        3. 导航树
        
                 .. navtree::
                    :root_depth: 2
        
        外观模版的设置
        =========================
        在站点根文件夹下面的_config.yaml里面，定义了整个站点的皮肤
        
            theme_base: http://localhost:6543/themes/bootstrap/  # 存放模版的基准位置，这里可能存放了多个模版
            theme: default.html                                  # 默认的模版
        
        外观模版是通过一个网址来指定的，上面的完整外观模版地址是：
        
            http://localhost:6543/themes/bootstrap/default.html
        
        如果不想使用默认的外观模版，可文件夹或页面属性中，设置个性化的外观模版:
        
            theme: home.html     # 首页模版，可能没有左右列
        
        这里会使用外观模版:
        
            http://localhost:6543/themes/bootstrap/home.html
        
        制作外观模版
        =========================
        可看看themes文件夹里面的文件，其实就是一个python的String Template.
        
        这个文件里面可以包括如下变量:
        
        - site_title: 站点的标题
        - site_description: 当前内容的描述信息
        - nav: 站点的导航栏目
        - title: 当前内容的标题
        - description: 当前内容的描述信息
        - content: 当前内容正文
        - left: 左侧列显示的内容
        - right: 右侧列显示的内容
        - upper: 上方区域显示的内容
        - theme_base: 外观模版的所在的位置
        
        一个最基础的外观模版可以是：
        
        
             <html>
               <head>
                  <title>$title - $site_title</title>
                  <meta name="Description" content="$site_description"/>
               </head>
               <body>
                  <ul>$namv</ul>
                  <div>$top</div>
                  <table>
                    <tr>
                       <td>$left</td>
                       <td>$content</td>
                       <td>$right</td>
                    </tr>
                  </table>
               </body>
             </html>
        
        nginx虚拟主机
        =======================
        默认安装，我们得到的地址首页是
        
             http://server.com:6543/site_name
        
        如果我们希望实际类似这样访问
        
             http://site_name.server.com
        
        需要调整：
        
        1. nginx.conf里面，增加rewrite指令
        
                server{
                    listen 80;
                 
                    location  /  {
                        proxy_set_header        HOST $host:$server_host;
                 
                        # 设置静态皮肤的访问，也可以改为直接由nginx提供下载
                        rewrite ^/themes/(.*) /themes/$1 break;
                 
                        # 访问viewer.example.com, 直接进入viewer站点
                        if ($host = viewer.example.com){
                            rewrite ^/(.*) /viewer/$1 break;
                        }
        
                        # 访问docs.example.com, 直接进入docs站点
                        if ($host = docs.example.com){
                            rewrite ^/(.*) /docs/$1 break;
                        }
        
                        # 根站点
                        if ($host = example.com){
                            rewrite ^/(.*) /example/$1 break;
                        }
                 
                         proxy_pass     http://localhost:6543;
                         proxy_redirect off;
                    }
                 
                }       
        
        2. 开启虚拟主机功能, 调整production.ini，设置use_vhm = true
        
        Jekyll参考
        ===================
        
        - http://www.ruanyifeng.com/blog/2012/08/blogging_with_jekyll.html
        - http://yanping.me/cn/blog/2012/03/18/github-pages-step-by-step/
        - http://www.soimort.org/posts/101/
        
        TODO
        ================
        1. 默认的bootstrap风格皮肤还很弱，还没有支持right列
        2. production模式下，应该大量缓存加速，减少io
        3. 提供webdav api
        4. 提供RSS输出
        5. 使用zapian进行全文搜索、排序等
        
        
        CHANGES
        
        v1.0 - 2013.1.1
        
        - 借鉴Jekyll，简化配置
        - 大量简化从前的历史代码
        
        v0.5 - 2012.12.30
        
        - 去除wsgi Theme Filter, 简化
        - 去除对themes文件夹的依赖，在站点metadata.json中可设置theme_url里面是皮肤的url地址，默认是自带的bootstrap风格皮肤
        - 支持markdown
        
        v0.1 - 2012.12.14
        
        - 调整.json的位置，去除多余的文件夹
        - 调整.json的内容，简化
        
Keywords: file server wsgi zope
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
