Skip to content

Commit

Permalink
Update readme. Close xalanq#27
Browse files Browse the repository at this point in the history
  • Loading branch information
xalanq committed Feb 29, 2020
1 parent 7ca5c0d commit cbfe3cf
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 42 deletions.
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ Pull requests are always welcome.

You can download the pre-compiled binary file in [here](https://github.com/xalanq/cf-tool/releases).

Then enjoy the cf-tool~

Or you can compile it from the source **(go >= 1.12)**:

```plain
Expand All @@ -56,7 +58,7 @@ To start competing the contest 1136!

If the contest has not started yet, `cf` will count down. If the contest have started or the countdown ends, `cf` will use the default browser to open dashboard's page and problems' page, and fetch all samples to the local.

`cd ./cf/contest/1136/a`
`cd ./cf/contest/1136/a` (May be different from this, please notice the message on your screen)

Enter the directory of problem A, the directory should contain all samples of the problem.

Expand Down Expand Up @@ -88,7 +90,7 @@ Open the standings' page of the contest.
You should run "cf config" to configure your handle, password and code
templates at first.
If you want to compete, the best command is "cf race"
If you want to compete, the best command is "cf race".
Usage:
cf config
Expand All @@ -114,7 +116,7 @@ Options:
<specifier> Any useful text. E.g.
"https://codeforces.com/contest/100",
"https://codeforces.com/contest/180/problem/A",
"https://codeforces.com/group/Cw4JRyRGXR/contest/269760"
"https://codeforces.com/group/Cw4JRyRGXR/contest/269760",
"1111A", "1111", "a", "Cw4JRyRGXR"
You can combine multiple specifiers to specify what you
want.
Expand All @@ -133,7 +135,7 @@ Examples:
cf list List all problems' stats of a contest.
cf list 1119
cf parse 100 Fetch all problems' samples of contest 100 into
"{cf}/{contest}/100/<problem-id>".
"{cf}/{contest}/100/".
cf parse gym 100001a
Fetch samples of problem "a" of gym 100001 into
"{cf}/{gym}/100001/a".
Expand Down Expand Up @@ -227,7 +229,7 @@ $%s%$ Second (e.g. 00)

```cpp
/* Generated by powerful Codeforces Tool
* You can download the binary file in here https://github.com/xalanq/cf-tool (win, macOS, linux)
* You can download the binary file in here https://github.com/xalanq/cf-tool (Windows, macOS, Linux)
* Author: $%U%$
* Time: $%Y%$-$%M%$-$%D%$ $%h%$:$%m%$:$%s%$
**/
Expand Down
88 changes: 51 additions & 37 deletions README_zh_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Codeforces Tool 是 [Codeforces](https://codeforces.com) 的命令行界面的
## 特点

* 支持 Codeforces 中的所有编程语言
* 支持 contests、gym 和 groups
* 支持 contests、gym、groupsacmsguru
* 提交代码
* 动态刷新提交后的情况
* 拉取问题的样例
Expand All @@ -34,7 +34,9 @@ Codeforces Tool 是 [Codeforces](https://codeforces.com) 的命令行界面的

## 安装

你可以从[这里](https://github.com/xalanq/cf-tool/releases)直接下载一个可执行文件,直接用就好啦。
你可以从[这里](https://github.com/xalanq/cf-tool/releases)直接下载一个可执行文件。

然后就能直接用啦~

或者你可以把整个 repo 给 clone 下来,然后自己编译 (go >= 1.12):

Expand All @@ -50,13 +52,13 @@ $ go build -ldflags "-s -w" cf.go

以下简单模拟一场比赛的流程。

`cf race 1136`
`cf race 1136` 或者 `cf race https://codeforces.com/contest/1136`

要开始打 1136 这场比赛了!其中 1136 可以从比赛的链接获取,比方说这个例子的比赛链接就为<https://codeforces.com/contest/1136>
就开始打 1136 这场比赛了!

如果比赛还未开始,则该命令会进行倒计时。比赛已开始或倒计时完后,工具会自动用默认浏览器打开比赛的题目界面与所有题目页面,并拉取样例到本地。

`cd 1136/a`
`cd ./cf/contest/1136/a` (或者是其他的路径,请看屏幕前的提示)

进入 A 题的目录,此时该目录下会包含该题的样例。

Expand Down Expand Up @@ -85,37 +87,59 @@ $ go build -ldflags "-s -w" cf.go
用浏览器打开榜单,查看排名。

```plain
首先你得用 "cf config" 命令来配置一下用户名、密码和代码模板
首先你得用 "cf config" 命令来配置一下用户名、密码和代码模板
如果你想用本工具打比赛,那么最好用 "cf race 1111" 命令,其中 "1111" 是比赛的 id
如果你想用本工具打比赛,那么最好用 "cf race" 命令
支持的命令:
cf config
cf submit [(<contest-id> <problem-id>)] [<filename>]
cf list [<contest-id>]
cf parse [<contest-id>] [<problem-id>]
cf submit [-f <file>] [<specifier>...]
cf list [<specifier>...]
cf parse [<specifier>...]
cf gen [<alias>]
cf test [<filename>]
cf watch [all] [<contest-id>] [<problem-id>]
cf open [<contest-id>] [<problem-id>]
cf stand [<contest-id>]
cf sid [<submission-id>] [<contest-id>]
cf race <contest-id>
cf pull [ac] [<contest-id>] [<problem-id>]
cf clone [ac] <handle>
cf test [<file>]
cf watch [all] [<specifier>...]
cf open [<specifier>...]
cf stand [<specifier>...]
cf sid [<specifier>...]
cf race [<specifier>...]
cf pull [ac] [<specifier>...]
cf clone [ac] [<handle>]
cf upgrade
参数:
-h --help 帮助。
--version 显示版本。
-f <file>, --file <file>, <file>
文件的路径,例如 "a.cpp"、"./temp/a.cpp"
<specifier> 任何有用的文本,例如
"https://codeforces.com/contest/100"、
"https://codeforces.com/contest/180/problem/A"、
"https://codeforces.com/group/Cw4JRyRGXR/contest/269760"、
"1111A"、"1111"、"a"、"Cw4JRyRGXR"。
你可以任意组合多个 <specifier> 来说明你的需求。
<alias> 模板的名字,比如 "cpp"。
ac 是否只获取 Accpeted 的代码。
例子:
cf config 配置 cf-tool。
cf submit 如果当前路径是 "<contest-id>/<problem-id>" 那 cf 会找到匹配某个模板的代码,
然后提交到 <contest-id> 这场比赛的 <problem-id> 题目。
cf submit a.cpp
cf submit 100 a
cf submit 100 a a.cpp
cf submit cf 会自动检测你需要提交的文件。
cf submit -f a.cpp
cf submit https://codeforces.com/contest/100/A
cf submit -f a.cpp 100A
cf submit -f a.cpp 100 a
cf submit contest 100 a
cf submit gym 100001 a
cf list 列出当前比赛的题目通过、时限等信息。
cf list 1119
cf parse 100 获取比赛 id 为 100 的所有题目的样例到文件夹 "./100/<problem-id>" 下。
cf parse 100 a 获取比赛 id 为 100 的题目 a 的样例到文件夹 "./100/a" 下。
cf parse 100 获取 contest 100 的所有题目的样例到文件夹
"{cf}/{contest}/100/" 中。
cf parse gym 100001a
获取 gym 100001 的 a 题的样例到文件夹
"{cf}/{gym}/100001/a" 中。
cf parse gym 100001
获取 gym 100001 的所有题目的样例到文件夹
"{cf}/{gym}/100001" 中。
cf parse 获取当前比赛的当前题目到当前文件夹下。
cf gen 用默认的模板生成一份代码到当前文件夹下。
cf gen cpp 用名字为 "cpp" 的模板来生成一份代码到当前文件夹下。
Expand All @@ -137,16 +161,10 @@ $ go build -ldflags "-s -w" cf.go
cf clone xalanq 拉取 xalanq 的所有提交代码。
cf upgrade 从 GitHub 更新 "cf" 到最新版。
注意:
<problem-id> 表示题目的 id,比如 "a" 或者 "A",不区分大小写。
<contest-id> 表示比赛 id,你可以从比赛链接找到。比如 "https://codeforces.com/contest/1119"
这个链接就是 id 为 "1119" 的比赛。
<alias> 模板的名字。
储存的文件:
cf 会保存数据到以下文件:
"~/.cf/config" 这是配置文件。
"~/.cf/config" 这是配置文件,包括模版等信息
"~/.cf/session" 这是会话文件,包括 cookies、用户名、密码等。
"~" 这个符号是系统当前用户的主文件夹。
Expand Down Expand Up @@ -176,10 +194,6 @@ $ go build -ldflags "-s -w" cf.go
$%full%$ 代码的文件名 (比如 "a.cpp")
$%file%$ 代码的文件名 (不包括后缀,比如 "a")
$%rand%$ 一个长度为 8 的随机字符串 (只包括 "a-z" "0-9" 范围内的字符)
Options:
-h --help
--version
```

## 模板例子
Expand All @@ -198,7 +212,7 @@ $%s%$ 秒 (例如 00)

```cpp
/* Generated by powerful Codeforces Tool
* You can download the binary file in here https://github.com/xalanq/cf-tool (win, macOS, linux)
* You can download the binary file in here https://github.com/xalanq/cf-tool (Windows, macOS, Linux)
* Author: $%U%$
* Time: $%Y%$-$%M%$-$%D%$ $%h%$:$%m%$:$%s%$
**/
Expand Down

0 comments on commit cbfe3cf

Please sign in to comment.