mirror-web/README.md
2016-02-08 23:16:16 +08:00

77 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# TUNA mirrors 主页
## 运行 Demo
本站使用 Jekyll 编写,并使用 babel 编译 ECMAScript6因此必须安装 ruby >= 2.0 和 nodejs.
```
bundle install
jekyll build
```
为正常运行,一些动态数据文件需要下载
```
wget https://mirrors.tuna.tsinghua.edu.cn/static/tunasync.json -O static/tunasync.json
wget https://mirrors.tuna.tsinghua.edu.cn/static/tunet.json -O static/tunet.json
```
之后 `jekyll serve` 即可运行 demo.
## 贡献文档
### 基本步骤
1. Fork 本项目并 clone
2. 创建分支 `git checkout -b foo-doc`
3.`_posts/help` 中建立文档文件,文件名格式为 `年-月-日-名称.md`
4. 用 markdown 语法编写文档
5. 提交并推送代码
6. 发送 Pull Request
### 写作规范
1. 对于相对不知名的镜像项目,首先用一两句话介绍该项目
2. 写明使用方法, 使用 Github Flavored Markdown 格式
3. 中英文字符间应留一个空格
### 特殊用法
#### 表单选择
例如 <http://mirrors.tuna.tsinghua.edu.cn/help/gitlab-ce/> 中,通过表单选择操作系统和版本号,生成对应配置文件的代码为:
```html
<form class="form-inline">
<div class="form-group">
<label>你的Debian/Ubuntu版本: </label>
<select class="form-control release-select" data-template="#apt-template" data-target="#apt-content">
<option data-os="debian" data-release="wheezy">Debian 7 (Wheezy)</option>
<option data-os="debian" data-release="jessie" selected>Debian 8 (Jessie)</option>
<option data-os="ubuntu" data-release="trusty">Ubuntu 14.04 LTS</option>
</select>
</div>
</form>
<p></p>
<pre>
<code id="apt-content">
</code>
</pre>
{% raw %}
<script id="apt-template" type="x-tmpl-markup">
deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/{{os_name}} {{release_name}} main
</script>
{% endraw %}
```
`<form>`包含的内容即为表单, `select`标签的`data-template`和`data-target`属性分别指定配置文件模板和 placeholder 的 id
`option`标签为选项,`data-os` 和 `data-release` 分别指定操作系统名称和版本号。
`code#apt-content`部分是占位符,`{% raw %}{% endraw %}`包含的部分是配置文件模板,通过 `{% raw %}` 标记防止被 jekyll 转义。
模板使用 [Markup.js](https://github.com/adammark/Markup.js/) 语法,可使用 `{{os_name}}``{{release_name}}` 两个变量,
对应于`option`中的操作系统和版本号设定。