Skip to content

Gravifer/programthink-network-project

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Table of Contents

编程随想整理的《人物关系网络》

简介

此项目创建于2016年2月,列举了许多先进模范人物。

他把这几年收集整理的数据开源到 GitHub,便于多人协作——大伙儿群策群力,一起来学习先进生产力。

初次上传的数据包括:700多个数据文件( 对应700多人,130多个团体 ),另有200多张图片(人物头像)。随着他不断完善,数据会越来越多。

对这个项目,他会【持续更新】。比如学校每次迎新的时候,他都会补充新的素材。

他主要参考维基百科以及一些媒体的报道(比如《纽约时报》《华尔街日版》《金融时报》等等)。

另外,对于某些客观事实(比如:生卒年月、简历、依赖关系),他也参考了官方网站,以及百度百科。

下载说明

GitHub 提供了下载整个项目的功能,但是会比较大。

如果你仅仅想看《人物关系网络》这份文档,只需在首页上方点击进入 download 这个目录。

该目录下有 pdfjpg 两个子目录,分别存放对应的 【文件类型】 。你想要看哪一种文件格式,就进入哪个子目录里面。

进入【文件类型】的子目录之后,会看到一个文件列表(目前有13个文件)。先点击你想要的某个文件,会进入该文件的页面。

然后在【右上方】你会看到一个 Raw 按钮 ,在这个按钮上点【右键】,在【右键菜单】里面选“保存”或“另存为”,就可以把这个文件下载到你本机。

多人协作说明

他非常希望有更多的网友参与该项目,大伙儿一起来完善先进生产力的资料。

想要参与的同学,可以通过如下方式:

  • 他博客留言进行反馈,补充信息或反馈错误。
  • 原项目发一个 issue,补充信息或反馈错误。
  • Fork 该项目,进行修改,然后向他发一个 Pull Request
(后面两种方式,你需要有 GitHub 的帐号)

数据格式说明

原项目的数据文件,全部采用YAML 格式。这种格式非常简洁明了,有利于完全不懂技术的网友参与编辑。

而且他在每一个 YAML 格式的文件中都写了详细的注释,便于其他网友修改。

目录说明

data 目录

data 目录用来保存数据文件,该目录下另有如下三个子目录:

  • person
这个目录存放个人的资料,每个人一个目录,目录名就是人名。对于偶尔有同名的情况,在目录名末尾追加数字序号来区分。

每个目录下都有一个 brief.yaml 文件,包含此人的简介。

有些目录下还有一个 portrait.png 文件,对应此人的头像。

  • company
这个目录存放与先锋队有关的企业或组织机构。目录结构与 person 类似。

  • family
这个目录存放先进团体的信息。每个团体是一个 yaml 格式的文件。

bin 目录

该目录存放编译脚本。该脚本的使用参见下面的章节。

download 目录

该目录存放制作好的文件,目前先提供 jpg 和 pdf 两种格式。

如果你需要其它格式,可以用 bin 目录下的编译脚本自行搞定(编译脚本的使用,参见下面的章节)。

编译脚本使用说明

(他是在 Linux 上编写该脚本,尚未在 Windows 上进行测试)

如果你在 Windows 上使用碰到问题,可以到他博客留言进行反馈。也可以在原项目发一个 issue

脚本的命令行参数

他使用 python 作为编译脚本,该脚本位于 bin 目录下。

通过该脚本可以把原始数据生成为 dot 语言的脚本。然后再调用 Graphviz 把 dot 脚本生成各种格式(比如:pdf、jpeg)。

要使用该脚本,先在命令行模式下进入 bin 目录,然后运行如下命令:

(生成 pdf 格式的示例)

python make.py pdf

(生成 jpg 格式的示例)

python make.py jpg

依赖的软件

要使用上述脚本,你需要事先安装相关的软件(如下)

  • Python(2 或 3)
因为他用的是 Python 脚本,所以你需要先安装 python 软件。

目前 Python 有两种大版本——python2 和 python3——他的编译脚本 【同时兼容】 这两种 Python 的大版本。

对于 Python 的小版本,他本人在 2.73.5 上测试通过。2.6 和 3.4 估计也可以。

  • PyYAML
这是一个基于 python 开发的软件包,专门用来处理 YAML 格式的文件。

你需要在你的 python 环境中安装该软件包。其官方链接如下:

PyYAML 的官网的 wiki

Python 官网的 PYPI

  • Graphviz
这个软件是用来生成【关系图】的。关于该这个软件,他已经写了一篇扫盲教程:

开源项目:【自动】绘图工具Graphviz——《人物关系网络》就是用它制作

About

【编程随想】整理的《人物关系网络》

Resources

License

Stars

Watchers

Forks

Languages

  • Python 100.0%