Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Population Curve #2

Open
emptymalei opened this issue Apr 24, 2014 · 20 comments
Open

Population Curve #2

emptymalei opened this issue Apr 24, 2014 · 20 comments
Labels

Comments

@emptymalei
Copy link
Member

No description provided.

@ProtossProbe
Copy link
Member

不是特别清楚Git的编辑过程到底是怎么样的。刚刚在本书的wiki新添了一个条目 chronicle.md,怎么才算提交啊?

@emptymalei
Copy link
Member Author

这个么?https://github.com/InterImm/InterImmBook/wiki/chronicle.md

好棒。


其实,工作流程是自己定的。我详细的说一下吧。

分成两部分:

  1. 不会用 git
  2. 会用 git

如果不会用 git

文件编辑等

这个 repo 里面包含了两个分支:master 分支和 gh-pages 分支。其中 master 分支里面的 book 目录里面 就是所有的构成本书的源文件,源文件都是用 markdown 写成的。

为了方便,我直接把 push 权限给你吧,这样你可以直接编辑内容,而不用再 pull request。

如果你不熟悉 git ,可以直接在线修改 book 这个目录里面的文件。

  1. 添加文件

1

  1. 修改文件

先点开相应的文件,然后直接在文件里面编辑。

2

编辑完之后在最下面

image

写清楚做了哪些更改,然后点 commit 就行了。

这本书的结构

在 master branch 里面,有个目录叫做 book,这个目录里面就是我们这本书的源文件了,都是用 markdown 写成的。

首先,这本书有两个很重要的文件,一个是 SUMMARY.md,一个是 book.json。其中 SUMMARY.md 就是所谓的目录页吧,如果你添加了一个文件,没有在 SUMMARY.md 里面 index 上,是不会出现在书里面的。 book.json 是配置文件,如果不熟悉一般不要更改吧。

总结

所以总结一下,如果要添加新的内容,需要做的事情如下:

  1. 在相应的目录添加相应的文件;
  2. 把刚刚添加的文件名字在 SUMMARY.md 里面索引一下,直接模仿 SUMMARY.md 里面现有的就可以。注意使用相对路径。

这样就更改了 source 文件了,之后生成书的事情可以我来帮忙搞定。

会用 git

编辑源代码

直接 pull 下来,然后按照上面的方法来编辑 book 目录下面的源代码。

如何生成书

咱们这本书是用一个叫做 gitbook 的程序生成的。所以生成这本书,需要先安装 gitbook ,然后在 repo 的根目录使用我在 README.md 里面写的那个命令

gitbook build ./book --output=./output --title=星际移民之书

然后书会生成到 output 文件夹中。然后把 output 文件夹里面的所有内容 copy 出来,放在另外一个地方备用。

然后 commit & push 到 master 分支,再 checkout 到 gh-pages,用刚刚的备用的文件覆盖 gh-pages 分支下面的所有文件。commit & push 即可。

关于这个更多的帮助可以查看 https://github.com/GitbookIO/gitbook 或者问我。

计划

如果你不会用 git 的话,等我考完试(5-14)哪天你有时间,我可以教你。

我的 git 是果壳一位算法工程师教我的,自从学了 git,简直着迷了。

@ProtossProbe
Copy link
Member

好详细的教程!
这个月的话应该周六周日都有时间,平时的话晚上十点到十二点也有时间。
确实很想学git。

另外还有一个问题,本书的wiki和本书的关系是什么啊?我看内容基本差不多啊?

@emptymalei
Copy link
Member Author

@SpaceXploration 嗯嗯,过几天就考完试了,到时候再联系你。

wiki 是个 playground,看情况收录到书里面去。书里面大多都是有参考文献的,wiki 要更随便些。

@emptymalei
Copy link
Member Author

@SpaceXploration 对了,可否到 https://github.com/orgs/InterImm/members 这个页面,把 private 改成 make public?这样别人就可以看到成员是我们两个人了。

@ProtossProbe
Copy link
Member

怎么把图片上传到InterImmBook / book / resources 文件夹啊,我用客户端上传图片之后,图片位于我自己的分支中,路径是这样的raw.githubusercontent.com/SpaceXploration/InterImmBook/master/book/resources/landing_spot.png

@emptymalei
Copy link
Member Author

你好像成功了?我在这边看到你的图片了。

可能你一开始把图片放在你自己的那个 repo 里面了。我现在给你添加了 push 权限之后,就不需要像其他人那样先 fork 再 pull request 了。所以你直接编辑 InterImm 这个就行。

@ProtossProbe
Copy link
Member

正在不断学习中。。。现在在尝试自己生成gitbook网页。。

@emptymalei
Copy link
Member Author

@SpaceXploration 赞,学的太快了。

@ProtossProbe
Copy link
Member

@emptymalei 。。。用gitbook把文件生成到output了,之后怎么合并到gh-pages 里面啊。。。?

@emptymalei
Copy link
Member Author

@SpaceXploration 这个我是先把 output 里面的所有文件复制到一个临时的地方,然后切换到 gh-pages 分支,再用那些文件覆盖 gh-pages 里面的内容。

我知道好像可以用 sub module 来更方便的实现,但是我不会用。所有就一直用上面这个笨方法。

@ProtossProbe
Copy link
Member

@emptymalei 还有个问题 操作命令行

gitbook build ./book --output=./output --title=星际移民之书

在哪里输入啊??
我是用gitbook程序里的build website as...选项生成的网页文件

@emptymalei
Copy link
Member Author

@SpaceXploration 你是 win, mac, linux? 我用的 mac 和 linux 所有比较喜欢命令行。如果你那样能行就用你的方法吧,似乎更简单些。

对了,往 gh-pages 推之前,可要看一下生成的网页有没有问题啊,特别是图片能不能看见啥的。

@ProtossProbe
Copy link
Member

@emptymalei 有个问题,每次打开移民书时,第一次加载时放在git内部的图片均无法正常显示,需要刷新一次才可以显示,不知道你那边有没有遇到相同的问题?

@emptymalei
Copy link
Member Author

@SpaceXploration 我这里没问题哎。

@ProtossProbe
Copy link
Member

@emptymalei 今天下午加晚上把book搞得糟糟的。我大致给你说了一下那些改动都是什么。你方便检查一下我又没有误删或者搞砸一些东西QAQ

把chronicle.md内容增添后,我尝试用gitbook导出output,尝试了很多次都不是很顺利。
我用windows下的gitbook导出的文件和原始output文件夹中的文件有些不同,具体如下:

  • 根目录下缺少SUMMARY.md
  • 根目录下增加了一个manifest.appcache文件
  • 根目录下增加了一个_book文件夹,该文件夹里面的内容相当于根目录所有文件(除_book文件夹)的拷贝
  • /gitbook文件夹下新增plugins文件夹,内有多余的两个文件

当我把新导出的output删去多余文件、补足缺少文件后,覆盖原始output文件夹,点击同步后始终有几个文件无法同步,只好在原始output文件夹找到这几个文件后覆盖,之后同步成功。

所以你可以看到操作记录里反复改变了很多次@_@,结果还是没有成功merge到gh-pages里面。。

@ProtossProbe
Copy link
Member

@emptymalei 完了。。犯了点错误,手动把gh-pages分支下的文件用output的内容给覆盖了。。css文件也改变了。。怎么撤销commit还原到上一次的状态啊

@ProtossProbe
Copy link
Member

@emptymalei 越搞越砸。只有拜托你把gh-pages和master恢复到之前的状态了。应该可以吧?真是添麻烦了。

@emptymalei
Copy link
Member Author

@SpaceXploration git 才不怕弄错呢,完全不会有麻烦,等我回办公室看看。

@emptymalei
Copy link
Member Author

方便检查一下我又没有误删或者搞砸一些东西QAQ

嗯,先啰嗦一句话,git 只添加东西,不会删除任何已经 push 上来的或者说 commit 过的东西,即使你删除了内容,git 也是在之前的 commit 基础上添加东西。你也想到了,这类事情不会导致我们丢失任何已经 push 上来的内容。


把chronicle.md内容增添后,我尝试用gitbook导出output,尝试了很多次都不是很顺利。
我用windows下的gitbook导出的文件和原始output文件夹中的文件有些不同

我大致看了下这个客户端,似乎确实跟我用的命令行有些不同,好像没法设置输出位置。我是手动设置的输出位置。

要不这样,因为命令行比较灵活,所以下次你再用的时候,直接把 output 删除吧。然后生成site,把 _book 目录里面的内容复制到 gh-pages。之后我会根据你的目录结构来。


  • 根目录下缺少SUMMARY.md

这个好像确实不需要。可能是我什么时候弄错了。现在已经删了。


  • 根目录下增加了一个manifest.appcache文件

看了下不知道是啥,反正又不影响 site,所以我打算不理它。 ==!


  • 根目录下增加了一个_book文件夹,该文件夹里面的内容相当于根目录所有文件(除_book文件夹)的拷贝

嗯嗯,如前所述,我那个 output 文件夹以后就不要了。


  • /gitbook文件夹下新增plugins文件夹,内有多余的两个文件

image

mathjax 是用来输入数学公式的。不影响 site,所以同不理它。

那个 mixpanel 以前没见过,查了下,是个用来统计站点访问数据的,所以也不理它。


当我把新导出的output删去多余文件、补足缺少文件后,覆盖原始output文件夹,点击同步后始终有几个文件无法同步,只好在原始output文件夹找到这几个文件后覆盖,之后同步成功。

如前所述,以后不要 output 了。


很不错的尝试。

@emptymalei emptymalei mentioned this issue May 14, 2014
12 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants