Skip to content

F.A.Q.

This page mainly answers some frequently asked questions.

I have some questions about this Wiki

Q: Why did you want to create this Wiki?

A: When learning OI, have you ever felt lost and helpless facing the vast knowledge system? What OI Wiki aims to do might be similar to "enabling more students with limited competition resources to easily access training resources." Of course, this description isn't entirely accurate. The motivation for creating the Wiki might also be pure, simply wanting to make a small contribution to the development of OI. XD


Q: I'm interested. How can I participate?

A: OI Wiki is currently hosted on GitHub. You can directly visit this repo to see the latest progress. Ways to participate include opening an Issue or Pull Request on GitHub, sharing your ideas in the discussion group, or submitting directly to the administrators. Currently, we use the Python-developed framework MkDocs, which supports Markdown format (including mathematical formulas).


Q: But I'm relatively weak... I'm not sure what I can do.

A: Everything stems from passion. You can help others review and revise submissions, promote OI Wiki, and foster a good learning and exchange atmosphere in the community!


Q: Who is mainly working on this now? It seems like a huge undertaking. Can it really be done well?

A: Initially, it was mainly some retired veteran contestants. Later, we met many like-minded partners: current contestants, retired players, and friends who have never participated in OI. Currently, this project is mainly maintained by the OI Wiki project team (below is a group photo).

Of course, it's difficult to make this project perfect relying solely on our strength. We sincerely invite you to help improve OI Wiki.


Q: How do you ensure the content we add won't suddenly disappear?

A: We host the content on GitHub. Even if our server fails, the content won't be lost. Additionally, we regularly back up everyone's hard work, so even if GitHub shuts down (?) one day, our content will remain.


Q: OI Wiki seems to have empty pages!

A: Yes. Limited by the project team's level and time, we cannot complete these empty pages for now. Therefore, we are soliciting contributions and recruiting here, hoping to meet friends with similar ideas to work together to improve OI Wiki.


Q: Why not just write on Chinese Wikipedia?

A: Because we hope to genuinely help more contestants or people interested in this content. Moreover, due to well-known reasons, content on Chinese Wikipedia is not accessible without barriers.

I want to get involved!

Q: How can I communicate with the project team?

A: You can contact us through the communication methods in About This Project.


Q: How can I contribute code or content?

Please refer to the How to Contribute page.


Q: Where is the table of contents?

A: The table of contents is in the mkdocs.yml file in the project root directory.


Q: How do I modify the content of a topic?

A: There is an edit button edit in the upper right corner of the corresponding page. Click it and confirm you have read How to Contribute, then you will be redirected to the corresponding file location on GitHub.

Alternatively, you can read the table of contents (mkdocs.yml) to find the file location.


Q: How do I add a topic?

A: There are two options:

  • Open an Issue, specifying the content you wish to add.
  • Open a Pull Request, add the new topic in the table of contents (mkdocs.yml), and create an empty .md file in the corresponding location under the docs folder. For details on document format, please refer to the Format Manual.

Q: I encountered difficulties trying to access GitHub.

A: It is recommended to add the following lines to the hosts file1:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# GitHub Start
140.82.114.25                 alive.github.com
140.82.113.5                  api.github.com
185.199.110.153               assets-cdn.github.com
185.199.111.133               avatars.githubusercontent.com
185.199.111.133               avatars0.githubusercontent.com
185.199.111.133               avatars1.githubusercontent.com
185.199.111.133               avatars2.githubusercontent.com
185.199.111.133               avatars3.githubusercontent.com
185.199.111.133               avatars4.githubusercontent.com
185.199.111.133               avatars5.githubusercontent.com
185.199.111.133               camo.githubusercontent.com
140.82.112.22                 central.github.com
185.199.111.133               cloud.githubusercontent.com
140.82.114.9                  codeload.github.com
140.82.113.22                 collector.github.com
185.199.111.133               desktop.githubusercontent.com
185.199.111.133               favicons.githubusercontent.com
140.82.112.3                  gist.github.com
52.216.163.147                github-cloud.s3.amazonaws.com
52.217.124.1                  github-com.s3.amazonaws.com
52.216.144.83                 github-production-release-asset-2e65be.s3.amazonaws.com
52.217.121.249                github-production-repository-file-5c1aeb.s3.amazonaws.com
52.217.206.57                 github-production-user-asset-6210df.s3.amazonaws.com
192.0.66.2                    github.blog
140.82.114.4                  github.com
140.82.113.18                 github.community
185.199.110.154               github.githubassets.com
151.101.1.194                 github.global.ssl.fastly.net
185.199.110.153               github.io
185.199.111.133               github.map.fastly.net
185.199.110.153               githubstatus.com
140.82.112.25                 live.github.com
185.199.111.133               media.githubusercontent.com
185.199.111.133               objects.githubusercontent.com
13.107.42.16                  pipelines.actions.githubusercontent.com
185.199.111.133               raw.githubusercontent.com
185.199.111.133               user-images.githubusercontent.com
13.107.253.40                 vscode.dev
140.82.112.21                 education.github.com
# GitHub End

You can find the latest content and more information at GitHub520.

Linux and macOS users can try using 依云's gh-check script to get the fastest IP for access. Using the --hosts parameter can directly update the hosts file. Use --help to get usage instructions. Python3 and aiohttp need to be installed first (pip install aiohttp -i https://pypi.tuna.tsinghua.edu.cn/simple/). Introduction on 依云's blog: Finding the Fastest GitHub IP.

Also, you can use the Gitclone service to accelerate cloning. Please read the instructions on its homepage.

If you only want to clone the OI Wiki repository, then:

1
git clone https://gitclone.com/github.com/OI-wiki/OI-wiki

If you need to contribute to OI Wiki, first fork the OI Wiki repository, then (replace username with your username). Note that the provided example will have you connect to GitHub using SSH2:

1
2
git clone https://gitclone.com/github.com/username/OI-wiki
git remote set-url origin git@github.com:username/OI-wiki.git


Q: My pip is too slow here!

A: You can choose to switch to a domestic mirror3, or:

1
pip install -U -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/


Q: I cloned this project on the client side, but it's too slow.

A: If you have git bash installed, you can add some limits to reduce the download size.4

1
git clone https://github.com/OI-wiki/OI-wiki.git --depth=1 -b master


Q: I haven't installed Python 3.

A: You can visit the Python official website for more information.


Q: It seems to indicate my pip version is too low.

A: After entering cmd/shell, execute the following command:

1
python -m pip install --upgrade pip


Q: I failed to install dependencies.

A: Check: network? permissions? Look at the error message?


Q: I've already cloned it. Why can't I deploy it?

A: Check if the dependencies are installed correctly?


Q: I cloned a repo from a long time ago. How do I update to the new version?

A: Please refer to GitHub's official help page Syncing a fork - GitHub Docs.


Q: If I installed previous dependencies, how do I update them?

A: Enter the following command:

1
pip install -U -r requirements.txt


Q: Why is my markdown formatting messed up?

A: You can refer to cyent's notes or the MkDocs Usage Instructions.

We currently use remark-lint to automatically fix formatting. There might still be some issues with the configuration. Suggestions are welcome.


Q: Does GitHub not display my mathematical formulas?

A: Yes, GitHub's preview does not display mathematical formulas. But rest assured, MkDocs supports mathematical formulas. They can be used normally, as long as they are in a format supported by MathJax.


Q: Why are my mathematical formulas garbled?

A: For block formulas (using $$), the currently known issue is that you need to leave blank lines on both sides of $$, and $$ must be placed alone on a line (and do not add spaces before it). The format is as follows:

1
2
3
4
5
// blank line
$$
a_i
$$
// blank line


Q: Why aren't my formulas displayed correctly in the table of contents? It seems like they are doubled.

A: Yes, this is a bug in python-markdown and might be fixed soon.

If you want to avoid double formulas in the table of contents, you can refer to the directory writing method for SAM under the string category.

1
End position <script type="math/tex">endpos</script>

In the table of contents, it becomes:

1
End position endpos

Note: Please try to avoid introducing MathJax formulas in the table of contents for now.


Q: How do I declare copyright information for a single page?

A: Add a line at the beginning of the page.5

For example:

1
copyright: SATA

Note: The default is CC BY-SA 4.0 and SATA.


Q: Why isn't my name in the author statistics?

A: If you find that you have written part of the content on a page but are not recorded in the author list, you can add your GitHub ID to the author field in the file header.


Thank you for reading to the end. What we urgently need now is your help.

OI Wiki Project Team

August 2018

References and Notes