Skip to content

7sDream/0v0.link-blog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

嘛,个人博客而已咯。

技术栈

  • Apache(with mod_wsgi)
  • Django(with SQLite)
  • markdown.js
  • GitHub Webhook
  • 七牛云

已完成

前端部分:

  • 导航栏
  • Info Card
  • 通过目录/Tag过滤文章
  • 文章 TOC (客户端 JS 动态生成)
  • 使用 markdown.js 渲染 md
  • 文章图片标题(客户端 JS 动态生成,提取 alt 属性)
  • Icon
  • 关于页面
  • Form 本地验证
  • 快速返回顶部

Django 后台部分:

  • 任意级目录管理文章
  • Tag 管理文章
  • 文章修改记录
  • 任意级评论
  • 多作者支持
  • GZip
  • 站内搜索

其他部分:

  • 使用 Apache
  • 使用 七牛云 CND 加速静态文件
  • Github Webhook 自动部署

想到啥写啥的 TODO List

  • 网站 icon
  • About 页面
  • GZip 压缩
  • 站内搜索
  • 快速返回顶部
  • 评论
  • 服务端渲染 markdown
  • RSS
  • 前端美化
  • 移动版
  • 纯 CSS --> SASS + autoprefixer
  • Django Admin --> 自己写后台
  • 多作者支持
  • API
  • Android 客户端
  • SEO
  • deploy.sh 脚本重构

秘密

  • 作为初学者,我不想被跨浏览器兼容的一些东西弄得太过迷糊,CSS 里能不写前缀的我都没写,也没做任何 IE 兼容测试,只在最新版 Chrome 和 Firefox 里测试了。
  • 访问我博客的时候可能会出现各种各样的情况,因为这个项目估计最近我会更新的很勤快…………
  • 因为是初学,所以我在尽可能的避免使用一切工具(前端框架,库),甚至连 jq 都没有用来着,就是为了尽量先熟悉原汁原味的东西,但是以后肯定会慢慢的开始用的。

部署?你确定?

这不是个 reuseable app!,但是确实是有一些快速部署支持的,deploy.sh 和 deploy 文件夹就是干这个用的。

如果你想部署在自己的服务器上的话,基本上要以下,额……好多步:

  • fork
  • 安装 Python3,pip3,virtualenv,
  • sudo apt-get install apache2 libapache2-mod-wsgi-py3
  • clone 你的 repo
  • 在 clone 出的目录旁建立一个 Python virtual env,名字自己定
  • 在 env 里安装 django, pytz, django-gravatar2
  • 把 deploy.sh 里 PYENV 变量里的 env-0v0.link 改成你的 env 名字
  • 把 deploy.sh、deploy/apache.conf.template 和 zvz/setting.py 里的 0v0.link 改成你的域名
  • 把 zvz/setting.py 里的 Arbutus 改成你服务器的 hostname, STATIC_URL 改成你的 CDN 地址
  • python manage.py collectstatic 收集静态文件,然后传到你的 CDN 上去
  • 按照你的个人信息编辑 blog/apps.py 里的 blog_settings 变量
  • 运行 deploy.sh,然后祈祷它别出错。
  • 访问你的域名(eg. example.com),看看是不是正常
  • 在 Github 上为 repo 添加 Webhook
  • 访问 Django Admin (eg example.com/admin),添加一项 GithubHookSecret 值为你的 Webhook Secret
  • 搞定了~ 然后你往 repo 的 master 分支 push 代码的话,服务端就会自动更新。

感悟

2016.03.01 基本翻译完 Django 文档的教程部分(见Django-intro-zh)之后,正式开始学着用 Django,顺便补一下我前端方面知识的不足(其实就是没有)。

一边看文档一边 Chrome F12 学前端……这几天算是对 Web 端多了些了解吧。

回想了一下最近几天学了这么多东西真是相当充实,Django 差不多算入门把,然后从 HTML CSS JS 这三个点都不会的渣渣,变得至少会一点了。

还学了好多其他知识,比如 Apache 配置文件,数据库并发,Linux 脚本,用户管理,Github Webhook。

顺便踩了一大堆坑,比如权限坑,CSRF坑,Apache www-data 用户组,Django 的 Bug。

当然,生命不息,学zhe习teng不止,这个项目应该会陪我很久吧。

(然而前几天刚借了一本 Node.js 的书……