像黑客一样写博客–Pelican快速搭建静态博客

“像黑客一样写博客”,通过文本编辑器(Markdown编辑器)即可实现写博客,而且是静态的,很神奇吧,这里的方案是Pelican.

为啥叫 Pelican 这么奇怪的名字
“Pelican” is an anagram for calepin, which means “notebook” in French. ;)

Pelican 是基于Python实现的开源静态博客系统,所谓静态博客系统就是无需数据库,每一篇文章会事先渲染成HTML静态文件,访问速度非常快。所以今天给大家介绍下怎么使用Pelican。

安装 pelican

pip3 install pelican markdown –upgrade

创建项目

```
>mkdir blog  # 创建项目目录

>cd blog # 进入项目目录

\blog>pelican-quickstart  # 生成pelican骨架
Welcome to pelican-quickstart v3.7.1.

This script will help you create a new Pelican-based website.

Please answer the following questions so this script can generate the files
needed by Pelican.
...
Done. Your new project is available at \blog
```

安装过程过,会有很多需要你输入的配置项,如果不知道怎么填就直接忽略或者选择n,因为这些配置项在后面可以自己手动再添加的。

创建完成后生成的目录结构如下

.
├── Makefile # 管理博客
├── content/ #存放文章的源文件
├── develop_server.sh
├── fabfile.py
├── output/ #生成的静态文件存放目录
├── pelicanconf.py #博客配置文件
└── publishconf.py #发布文件

第一篇makedown文章

你的文章需要保存在content目录下,通常情况我们写文章采用markdown语法,所以,现在我们在content目录创建一篇文章,文章内容:

```
Title: My super title
Date: 2010-12-03 10:20
Modified: 2010-12-05 19:30
Category: Python
Tags: pelican, publishing
Slug: my-super-post
Authors: Alexis Metaireau, Conan Doyle
Summary: Short version for index and feeds
This is the content of my super blog post.
```

生成静态文件

pelican content

执行完成后,output 目录会多出一些文件,markdown文件最终也会转换成html文件放到该目录下

选择Apache 虚拟文件路径,启动你的博客网站吧: http://Youthblue.com

高级功能1:配置主题

在http://www.pelicanthemes.com/选择自己喜欢的主题
将从pelican-themes上下载主题到本地并安装
git clone https://github.com/getpelican/pelican-themes.git

在pelicanconf.py文件中,配置主题
THEME = “pelican-octopress-theme”

高级功能2:修改时区和默认的时间格式

TIMEZONE = ‘utc’
DATE_FORMATS = {
‘en’: ‘%a, %d %b %Y’,
‘jp’: ‘%Y-%m-%d(%a)’,
‘zh’: ‘%Y-%m-%d(%a)’,
}

AD:
http://kylinholding.com/

执行MySQL报错

今天新采购了柒比贰WordPress主题,安装主题时候报错: MySQL命令行使用sql语句进行建表时,MySQL 报错,遇到同一个问题,写一篇博客来加深印象。

原SQL语句:

CREATE TABLE wp_zrz_order 
(
    order_address longtext
) CHARSET = utf8

执行报错:

    [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') CHARSET=utf8' at line 21]

20191014222352.png 执行MySQL报错 执行MySQL报错 20191014222352

这个问题是语法上的错误,在MySQL中,为了区分MySQL的关键字与普通字符,MySQL引入了一个反引号。在上述的sql语句中,数据库名称使用的是单引号而不是反引号,所以会就报了这个错误出来。修改后为:

CREATE TABLE `wp_zrz_order`
(
    order_address longtext
) CHARSET=utf8

在英文键盘输入环境下,按图示按钮输入反引号 `
20191014222803.png 执行MySQL报错 执行MySQL报错 20191014222803

推荐一下,柒比贰WordPress主题真的好用,比较适合国内情况,推荐。

Windows Live Writer出现Invalid response document returned from XmlRpc server错误的解决

比较啃的一个事件,替换了主题后,Windows Live Writer发不了博客了,通过下面的办法解决:

 

当Windows Live Writer在取回Wordpress平台建立的博客的日志(或页面),或者发布日志的时候出现如下错误对话框:

image  Windows Live Writer出现Invalid response document returned from XmlRpc server错误的解决 image thumb2

 

其中有如下的错误信息(如上图红色方框内文字):

Invalid response document returned from XmlRpc server

解决办法:

  1. 打开wordpress程序下的/wp-includes/class-IXR.php文件
  2. 找到字段:$length = strlen($xml);
  3. 将其替换为:$length = strlen($xml)+3;
  4. 保存即可

原因,据说是:因为wordpress本身的一个bug,在utf-8编码下,xmlrpc返回的格式不正确,缺了三个字节,所以那个字段后+3;也有说是因为wordpress的编码(utf-8)与Windows Live Writer(utf-8 +)编码不一样。

WordPress的报错:Invalid response document returned from XmlRpc server

xmlRPC错误  WordPress的报错:Invalid response document returned from XmlRpc server xmlRPC thumb

好久没有整理blog了, 用WLW发布博客,却遇到这个问题:

Invalid response document returned from XmlRpc server

最近没有做什么,除了刚更新了iNove_Plus_v1.1主题和几个插件, WordPress主程序没有动.

内事不决问百度,外事不决问谷歌.

比较靠谱的办法说是UTF8编码问题导致了XMLPRC获得存在少几个字符问题。

故打开WLW的日志查看:

C:\Users\Administrator\AppData\Local\Windows Live Writer\Windows Live Writer.log

WindowsLive.Writer.CoreServices.XmlRpcClientInvalidResponseException: Invalid response document returned from XmlRpc server —> System.Xml.XmlException:

出现意外的文件结尾。以下元素未封闭: methodResponse. 行 18,位置 17。

按照网络的办法,需要 /wp-includes/class-IXR.php文件

  1. 找到字段:$length = strlen($xml);
  2. 将其替换为:$length = strlen($xml)+3; 但是我的错误并未解决。
    再翻开了一般错误提示的日志:

    <?xml version=""1.0″"?>
    <methodResponse>
      <params>
        <param>
          <value>
          <array><data>
      <value><struct>
      <member><name>isAdmin</name><value><boolean>1</boolean></value></member>
      <member><name>url</name><value><string>http://www.xifarm.com/</string></value></member>
      <member><name>blogid</name><value><string>1</string></value></member>
      <member><name>blogName</name><value><string>息田网站|个人博客(ResearchMFG)</string></value></member>
      <member><name>xmlrpc</name><value><string>http://www.xifarm.com/xmlrpc.php</string></value></member>
    </struct></value>
    </data></array>
          </value>
        </param>
      </params>
    </methodRespons",""

    结尾封闭的methodRespons少了一个>符号。

    把上面的+3修改为

    $length = strlen($xml)+1;

    问题解决 有棕榈树的小岛  WordPress的报错:Invalid response document returned from XmlRpc server wlEmoticon islandwithapalmtree

PHP与HTML混合编程

PHP与HTML混合编程,让人不爽: 首先,书写让人很别扭。 最后,还是很让人别扭。 代码看起来非常丑, 没有之一。

  • 2个概念:

HTML是前台呈现数据用的,即除了Silverlight、Flex可呈现复杂的内容外,我们通过IE、Chrome看到的页面100%是通过HTML呈现出来的(可通过Chrome浏览器,右键”审查元素”查看HTML细节)。 PHP属于后台逻辑语言,即运算、查询DB、密码加密、字符串比较、文件读写等。 当然,这涉及到了如何把PHP输出的数据呈现给IE,即如何把PHP嵌套到HTML里面去。 这个,至少让我很别扭,尤其看WordPress的源码更是如此。 但是,这个掌握后,效率确实非常高,动态语言嘛!

  • 如下3个例子:

例子一 简单的:

 

例子二 判断条件:

 这里是html的p标签里的PHP的文字 

 

  • 更多内容

请翻阅PHP圣经:PHP和MySQL Web开发(原书第3版)中文版 html少了php可以做网站,只是静态的而已 但php少了html,只能自己写着玩。 就算玩,也得通过IE看结果, 所以PHP少了HTML,不行。 PHP知识参见:PHP实战学习总结

WordPress已经10岁啦

        这个网站从搭建到上线,用了不到2周, 其中注册域名和空间是花钱的,而网站软件源码、网站插件、主题等都来自“免费”互联网,来自WordPress。

    5.27号,去WP网站浏览, 啊! 原来它都10岁了:   当2003年5月27日,Matt Mullenweg 和 Mike Little 决定从 B2 这个博客软件分支出来开发 WordPress 之后,他们可能也没有想到,10年之后,WordPress 会成为世界上最受欢迎的博客和内容管理软件(CMS)。

        英文->中文翻译入口页面:http://codex.wordpress.org/