如何搭建不用数据库的博客

2012-12-09 22:09:06 +08:00
 banxi1988
不知道为什么我突然觉得可以搭一个不用数据库的博客。

最初见到类似的东西,因为是用github的page来搭建简单的个人博客吧。

昨天晚上睡觉的时候想了想。
(1)作为见证自己成长经验,搭建一个自己的blog还是很有必要的,虽然已经有了这么多的社区有博客功能。
(2)不知道对于一个blog站点来说,数据库访问跟直接文件IO性能差别大吗?
(3)原始想法如下:
一个按年月的blog目录,里面放html。
一个category目录里面放blog目录对应类别记录。
一个archive目录方便按年月归档blog。
一个保持目录结构与内容同步的脚本 。
基本目录结构如下:
banxi1988@banxi:~/work/jblog$ tree
.
├── archive
│   └── 2012
│   ├── 11.json
│   └── 12.json
├── blog
│   └── 2012
│   └── 12
│   └── How_to_learn_python.html
└── category
├── android.json
└── java.json

6 directories, 5 files
banxi1988@banxi:~/work/jblog$


例如:python.json文件中以json格式保存python分类下的文章的索引信息。
如[
{"category":"python","path":"2012/12/How_to_learn_python.html"}
]
archive中的结构类似。

每次创建博客时,(因为我自己熟悉html+css+js),
用一个交互式的脚本:
可以输入:博客中文名,博客英文名(space replace with '_')
输入类别。
然后就可以创建blog html文档的时候,将此blog的信息根据类别在category中对应记录
文档中添加一项。根据创建的日期在archive中对应的文档中添加一项。

(4)一些其它的思考:
就按我一个月写5篇blog一年有60左右。
10年600左右。一个blog(不算图片)50K计,600个也就一点点东西。就是要做全文搜索也是so easy的。
关于评论:由于个人博客,一般评论什么的不多。所以
加一个commets来存储对应的blog的评论。评论的时候也是直接文件IO读写。

用一个定时脚本,每天根据需要构建一次相关页面。

(5)突然感觉又回来了,这不就是一个html文档吗?
nosql?

欢迎提出你的看法。
6322 次点击
所在节点    随想
30 条回复
banxi1988
2012-12-09 22:10:06 +08:00
这一句后面的东西忘了下了:(因为我自己熟悉html+css+js):所以 我可以不需要可视化啊等等编辑器。直接自己写html的。
jesse_luo
2012-12-09 22:22:47 +08:00
github(或者任何空间)上面用jekyll啊,当然lz的目的应该不是单纯为了记博客……
自荐一下……
http://blog.jesseluo.me/blog/2012/blog-on-github/
banxi1988
2012-12-09 22:29:19 +08:00
@jesse_luo 这个github的用jekyll我用过一下下,觉得有点点不习惯,特别是yaml。
可能有时候我也是想,自己动手来感受作为一个网站需要及功能的进化。
PS:现在bae是免费的,你的博客可以尝试切到bae上去,哈哈。
plucury
2012-12-09 22:34:44 +08:00
hehe
2012-12-09 22:42:50 +08:00
你想的太复杂了

本机建个txt,随时更新,想给谁看发给谁
goofansu
2012-12-09 22:44:32 +08:00
可以试试octopress,不过老实说,写出什么样的内容才是最重要的,博客系统一抓一大把
jacy
2012-12-09 22:47:20 +08:00
有不用数据库的博客系统。原来也有很多,比如数据保存在ini文件,xml文件,甚至文本文件。以前为了在路由器上搭博客,减少路由器负担,没在路由器装数据库。
binux
2012-12-09 22:50:31 +08:00
如果只是一个文件数据库,那没什么新奇的,还有用文件数据库的论坛呢
如果抛开各种多用户、权限、扩展、可选项,后台,博客系统本来就没什么难的
ericFork
2012-12-09 22:52:41 +08:00
想起早年的 ofstar 论坛系统,不知道还有多少人记得这东西……
banxi1988
2012-12-09 23:04:41 +08:00
@hehe 呵呵,可以发邮件。
cyr1l
2012-12-09 23:06:58 +08:00
是的, 博客系统其实很简单的, 我是直接写markdown,转换成html,扔在目录下, 用php去索引,直接css什么的自己定义就行,至于评论系统,用disqus 或者国内的有言,灯鹭什么的社交评论,RSS也是直接php伪造,archive 和tag 也不算难 ,就是ping和trackback不好做。 其他都很还算简单。
skydiver
2012-12-09 23:10:05 +08:00
Movable Type 就可以的啊。。。直接生成静态页面
banxi1988
2012-12-09 23:21:05 +08:00
@cyr1l 为什么要“我是直接写markdown,转换成html” 而不是直接html。
我感觉markdown好像主要是为了防止xss和脚本的吧。而出现的吧。
目前对于markdown是没有多少了解,但是觉得写法的话,用zencoding挺不错的。
Mutoo
2012-12-09 23:22:33 +08:00
请问这样的博客如何留言……
banxi1988
2012-12-09 23:24:07 +08:00
@Mutoo 留言直接放在一个对一个对应的文件进行IO。因为一般个人博客,留言的不多。
cyr1l
2012-12-09 23:27:36 +08:00
@banxi1988 一样, 就是觉得windows下的那个 markdownpad 挺帅的,还能自定义CSS,同步预览什么的。 感觉很方便。 当然啦, 用编辑器配合zencoding也很好, zencoding真乃前端神器啊。
ipconfiger
2012-12-09 23:29:35 +08:00
试试 https://github.com/ipconfiger/blogen 基于pages构建,简单易用
MayLava
2012-12-10 00:50:50 +08:00
/t/34202 http://haow.in/blogmi/
试试看符合你的要求不
reaky
2012-12-10 07:50:05 +08:00
https://github.com/reaky/reaky.github.com
我自己的,将就能用 代码很挫,内容请忽视
Sammy.js前端路由,结构和楼主的差不多
banxi1988
2012-12-10 10:05:44 +08:00
@MayLava 看了下非常不错。如果有类似需要的人,我会向他们推荐的。
我想,自己先尝试造下轮子。
PS:我特别喜欢 V3日记 这个主题。 不知知道如果我模仿的话,有没有版权问题没有?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/54504

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX