Skip to content

mhstrongman/ezlog

 
 

Repository files navigation

EZLog

Easy Blog System

简介

EZLog是用 Django 开发的个人博客系统, 也可以用来做个人网站。欢迎试用!

示例站点

特性

依赖关系

  • Python2.7 或更高版本
  • libxml2-dev libxslt1-dev (needed by lxml)
  • libjpeg-dev libfreetype6-dev (needed by PIL)

依赖的python模块

  • Django==1.4.1
  • pyquery
  • lxml>=2.3.4(needed by pyquery&compressor.parser.LxmlParser)
  • BeautifulSoup<4.0(needed by compressor.parser.LxmlParser)
  • django-taggit(SAE环境下需要修改代码)
  • django-grappelli
  • django-filebrowser
  • PIL(needed by django-filebrowser)
  • django-compressor
  • django-mptt
  • Markdown

可选模块

  • cssmin (used to compress css file)

测试运行

  • 获取EZLog代码:

    $ git clone https://github.com/wonderbeyond/ezlog.git
    
  • 安装某些python模块所需的库文件(以Ubuntu环境为例):

    $ sudo apt-get install libxml2-dev libxslt1-dev
    
  • 安装python模块:

    $ cd ezlog
    $ pip install -r requirements.txt
    
  • 初始化数据库:

    $ make syncdb
    

    请在命令执行过程中根据提示创建超级用户。

  • 搜集静态文件到 settings.STATIC_ROOT 文件夹:

    $ make collectstatic
    $ make compressstatic  #如果没有启用静态文件压缩,则不用执行该命令。
    

OK,现在可以测试运行了。 这里使用Django提供测试服务器来运行,请不要应用于生产环境中! 生产环境下的部署方案请参考Django文档: https://docs.djangoproject.com/en/1.4/howto/deployment/

$ python manage.py runserver 8000

如果看到如下提示:

Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

说明网站运行成功!打开浏览器,访问 http://127.0.0.1:8000/ 查看效果, 访问 http://127.0.0.1:8000/admin/ 可执行后台管理, 需要使用刚刚创建的superuser登录。

在实际使用时,请访问 http://localhost:8000/ezsettings/ 并根据需要修改站点参数,在admin管理界面可以看到该链接。

Note

如果你在测试或部署EZLog时遇到了问题, 可以先看看我的 开发笔记 里面有没有提到对应问题的解决方法。 也可以在新浪微博上 @workwonder 向我反馈, 或者在这里留言: http://ezlog.sinaapp.com/20/#comments.

配置

设置 sites.site

为了保证各个模块获得正确的信息(比如站点地图要生成网站的链接), 请访问 http://localhost:8000/admin/sites/site/, 然后把域名 example.com 修改为你正在使用的域名。

Django settings

EZLog项目中,settings.py被拆分成一个包,由__init__.py负责导入所有设置。

  • base.py: 提供基本设置,优先级最低
  • for_heroku.py: 提供针对Heroku环境的设置
  • for_sae.py: 提供针对SAE环境的设置
  • dev.py: 提供特定于测试环境下的设置
  • production.py: 提供特定于生产环境下的设置
  • local.py: 提供你针对自己网站的设置,优先级最高

Note

通过设置环境变量 RUNNING_MODE 来指定测试环境还是生产环境

配置 django settings

请在 ezlog/settings/local.py 中配置自己的django settings. 在 local.py 中出现的配置项将会覆盖 base.py 中相同项目的默认值。

可以执行如下命令根据样例创建local.py:

$ cp ezlog/settings/local.sample ezlog/settings/local.py

具体django有哪些可配置的项目,请参考 Django settings文档

下面这些配置项特定于EZLog自身的:

  • MARKUP_LANGUAGE: 撰写Blog时使用的标记语言, 可选择 "markdown", "html". 并会分别为它们提供友好的在线编辑器。 你也可以选择使用其它标记语言,比如 restructuredtext, 但需要在 MEDIA_FOR_POST_EDITOR 中指定创建对应在线编辑器 所要使用的JS和CSS文件。

  • MEDIA_FOR_POST_EDITOR:创建在 MARKUP_LANGUAGE 中设置的标记语言对应的在线编辑器所需要的css和js文件。

    设置示例如下,其中css和js的URL是相对于 MEDIA_URL 的。

    MEDIA_FOR_POST_EDITOR = {
        'html': {
            'js': ('ckeditor/ckeditor.js',
                   'ckeditor/config.js',
                   'js/ckeditor-setup.js',
                   'filebrowser/js/FB_CKEditor.js',
                  ),
            'css': (),
        },
    
        'markdown': {
            'js': ('wmd/showdown.js',
                   'wmd/wmd.js',),
            'css': ('wmd/wmd.css',),
        },
    
        'restructuredtext': {
            'js': (),
            'css': (),
        }
    }
    

下面这些配置项是一些依赖模块用到的:

  • COMPRESS_ENABLED:启用静态文件压缩功能。 启用后,请在部署前执行 make compressstatic 命令压缩静态文件。

EZLog 设置

除了Django settings, EZLog自身还包括了一个灵活的配置管理模块。

EZLog的配置管理模块提供了一个友好的WEB界面来动态配置站点参数, URL是 /ezsettings/.

可以配置的项目包括:

  • 站点标题
  • 站点箴言:显示在站点标题附近
  • 公告信息:将显示在公告板中,置空则不显示公告板
  • 多说短域名:多说短域名。 EZLog集成了多数社会化评论系统,你可以到这里 http://duoshuo.com/create-site/ 申请一个多说短域名为你的网站接入多说评论服务。

TODO

  • add full toc support for blog entry

About

Easy blog system powered by django

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 45.1%
  • CSS 28.5%
  • Python 19.4%
  • HTML 6.6%
  • Other 0.4%