爬步历史▼ 2015▼ 手册 github markdown 图文 视频

031.狮友圈运行手册

向几个狮友发出了邀请,是时候补齐一些手册了。 运行(非运营)手册,主要说狮友圈是咋协作的。

@史荣久 / 2015-08-15 / CC-BY-SA-3.0

缘分加自愿

关于攻城狮朋友圈,我在前面已经神叨了好些篇了。 它既然叫「朋友圈」,自然就不是组织,不是负担。 贡献者,可以在任何时候,可以分享任何话题。

大家聚在一起,而不成为人堆,自然是认同某些东西, 而这个东西,我暂且称之为「攻城狮精神」。

狮友圈采用「缘分加自愿」,是两次握手。 第一次,是甲向乙发出邀请申请,然后乙同意。 第二次,是贡献者在狮友圈分享话题,然后获得编号

加入狮友圈有两个条件:一个是自愿分享,重在自愿。 一个有某种自己动手,天天向上的「攻城狮精神」。

Github协作

狮友圈的成品在 http://www.moilioncircle.com , 其生产工厂在 https://github.com/moilioncircle 。

和狮友圈协作直接相关的有以下3个:

  • moilioncircle.github.com 官网
  • moilioncircle.product 每期分享用到的素材。
  • moilioncircle.publish 狮友圈历史和资源。

其协作流程大概如下图所示: github工作流程

  • 实线箭头,表示动作的方向。
  • 虚线箭头,表示commit的存在。
  • 黄圈箭头,表示git历史关系(参考git-scm)。

此图中步骤所对应的git参考手册如下:

第一步,把狮友圈的repository fork到自己的名下。 在 https://github.com/moilioncircle 页面找到 moilioncircle.github.com 和 moilioncircle.product, 分别进入并点击右上角的Fork,就可以了。

第二步,把上步fork到自己名下的库clone到本地。

# 替换成自己的URL
git clone https://github.com/your-name/XXX

# 添加攻城狮库,命名为upstream
git remote add upstream https://github.com/moilioncircle/XXX

# 查看本地git的remote
git remote -v

# 大概得到如下输出
origin  https://github.com/trydofor/XXX (fetch)
origin  https://github.com/trydofor/XXX (push)
upstream    https://github.com/moilioncircle/XXX (fetch)
upstream    https://github.com/moilioncircle/XXX (push)

第三步,本地 commit,图中在X之上先后有A,B两次提交。

git checkout master # 本地分支
git status # 查看状态
git commit -m 'comment' # 提交
git gui # 以gui形式操作

第四步,把狮友圈的内容fetch到本地,此时upstream以存在R提交。

# 如果没有冲突,可以这样,直接在upstream上重播master的提交
git pull --rebase upstream master

# 但推荐这样,然后手动合并。
git fetch upstream

第五步,衍合(rebase)R和合并(squash)A和B。

# 在upstream的上重播本地提交。同`pull --rebase`。
git rebase upstream/master

# 合并提交A和B为一个提交,包含A和B的内容
# 查看log,找到A的父提交X
git log --oneline # 越上面越新
  6d4e4be B
  a5dde93 A
  d702c29 X

git rebase -i d702c29 #越下面越新

# 把 B提交前面的pick改成squash即可,保存,填写提交日志。
  pick    a5dde93 A
  squash  6d4e4be B

# 如果放弃,清空所有内容,保存。

第六步,push到自己的仓库origin。

# --force 回强制覆盖远程服务器内容
git push --force origin master

# 一般不用 --force
git push origin master

第七步,在自己的github仓库页面,点击pull requesets

第八步,所有贡献者,会投票,决定是否merge,并分配编号

如果,你本地或者github的git失控了怎么办? 可以reset

# backup uncommited files first !!
git reset --hard 1a0c328a3afece6a460842dcc357cfe46f0ef529
git pull --rebase upstream master
git push origin master --force

# copy backup files to this reset-repository 
git commit -a -m "new commit"
git push origin master

自组织分享

狮友圈官网,使用的是git page提供的静态博客功能。 需要在本机安装jekyll环境,以ubuntu 14.04为例。

sudo apt-get install git
sudo apt-get install ruby-full
sudo apt-get install nodejs
sudo gem install jekyll
sudo gem install jekyll-sitemap

cd moilioncircle.github.com #你本地的目录

# 修改 `_config.yml` 切换注释,变成以下内容。
  url: http://127.0.0.1:4000
  url: http://www.moilioncircle.com # 注释掉

# 启动本地服务器,访问本机4000端口就可
jekyll server

所有以下举例,都是在本地git上进行的,此时并没有狮友圈的统一编号。 贡献者可以不使用编号或随意使用编号进行PR,待狮友圈分配编号后, 再squash此PR即可。所有对PR的讨论,都将在PR的回复中进行。

(A)新增贡献者,需要自己建立作者信息。
_data/authors.yml 按格式追加自己的信息。
images/user/ 添加头像120x120,和信息路径一致。

(B)发布图文,需要建立对应的博客。
_posts/actions 爱可深思 动手操作为主
_posts/manshow 闷骚闷秀 各类博客
_posts/publish 爬步历史 狮友圈建设相关
_posts/release 锐力易思 视频分享

与其对应的有 images/post目录。
封面图片尺寸400x250,有小故事的或小知识的。 如果图文配有多图,使用文件夹(序号命名)。

rawpage 中放置的是静态页面内容

图片,建议jgp或png(注意都小写)。文件名,全小写英数(含-_.)。 图文格式为markdown,扩展名为.md,其内容解释如下:

category: publish <= 分类,目前有如上4类。
author: shi.rongjiu <= 作者,同authors.yml一致。
title: 000.狮友圈运行手册 <= 文章标题,10字左右。
excerpt: 向几个狮友发出了邀请... <= 文章摘要,两行即可。

tags: [手册, github, markdonw, 图文, 视频] <= 文章标签
teaser: post/publish/000.jpg <= 文章封面
teaserinfo: 2014年12月... <= 封面故事
modified: <= 修改时间,可选。

以上内容是jekyll显示需要的,文章正文照猫画虎或自由发挥。

(C)发布视频建议(非强制)统一标识。

视频开头和结尾,报个门户,关键词包括: 围观,攻城狮,攻城狮朋友圈和贡献者名字。例如

大家好,欢迎围观攻城狮朋友圈。
我是阿九,今天为大家分享的是:
...
今天就为大家分享到这里,感谢您的围观。
我是阿九,我们是攻城狮,我们下次再见。

此外,攻城狮还有技能和口号。

不等,不靠,有囧,有料。攻城狮建造世界。
终日乾乾,或跃在渊。

视频中增加攻城狮朋友圈的Logo或二维码等标识。
这些标识位于 moilioncircle.publish, 例如/proc/ads/狮友圈/

录制好的原始视频,需要放到网盘,并分享给狮友圈。 狮友圈再将视频上传至其他视频平台,进行发布。

—- 2015-08-17 内容补充 —-

分享视频比图文要麻烦,各平台还有审批,可能会导致申诉或返工。 待上传到视频平台后,需要把对应的URL,更新到观看视频 位置。 这些都完毕,一个PR才算完成,然后进行merge

实际操作中,可以预先领号,然后直接commit,PR,不用再次麻烦。

参考资料

《031.狮友圈运行手册》 向几个狮友发出了邀请,是时候补齐一些手册了。运行(非运营)手册,主要说狮友圈是咋协作的。
题图:2014年12月,在扎克伯格办公桌的笔记本电脑旁放着一本英文版的《习近平谈治国理政》。