/OI-wiki

:star2: Wiki of OI / ICPC for everyone. (某大型游戏线上攻略,内含炫酷算术魔法)

Primary LanguageTypeScript

Word Art

欢迎来到 OI Wiki

Gitpod Ready-to-Code GitHub Actions Uptime Robot Status Telegram QQ GitHub watchers GitHub stars


内容

编程竞赛发展多年,难度越来越高,内容越来越复杂,而网上资料大多零散,初学者往往并不知道如何系统地学习相关知识,需要花费大量时间摸索。

为了方便热爱编程竞赛的小伙伴更好地入门,2018 年 7 月份,OI Wiki 迁移至 GitHub。随着 OI Wiki 的内容不断完善,越来越多的小伙伴参与其中。

OI Wiki 致力于成为一个免费开放且持续更新的知识整合站点,大家可以在这里获取关于 编程竞赛 (competitive programming) 有趣又实用的知识,我们为大家准备了竞赛中的基础知识、常见题型、解题思路以及常用工具等内容,帮助大家更快速深入地学习编程竞赛。

目前,OI Wiki 的内容还有很多不完善的地方,知识点覆盖不够全面,存在一些低质量页面需要修改。OI Wiki 团队以及参与贡献的小伙伴们正在积极完善这些内容。

关于上述待完善内容,请参见 OI WikiIssues 以及 迭代计划

与此同时,OI Wiki 源于社区,提倡 知识自由,在未来也绝不会商业化,将始终保持独立自由的性质。


部署

本项目目前采用 MkDocs 部署在 oi-wiki.org

我们在 status.oi-wiki.org 维护了一份镜像站列表,它们的内容和 oi-wiki.org 都是相同的。

当然,也可以在本地部署。(需要安装 Python3 和 Pipenv

点击查看用 asciinema 录制的流程

如果遇到问题,可以查阅 F.A.Q. 来了解更多信息。

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

cd OI-wiki

# 安装 mkdocs
pipenv install --pypi-mirror https://pypi.tuna.tsinghua.edu.cn/simple/

# 使用我们的自定义主题(Windows 下请使用 Git Bash 执行)
# 安装主题时将连接网络下载资源,可通过以下环境变量控制下载链接
# scripts/pre-build/install-theme.sh:
# - THEME_REPO
# scripts/pre-build/install-theme-vendor.sh:
# - MATHJAX_URL
# - MATERIAL_ICONS_URL
# - GITALK_REPO
./scripts/pre-build/install-theme.sh

# 两种方法(选其一即可):
# 1. 运行一个本地服务器,访问 http://127.0.0.1:8000 可以查看效果
pipenv run mkdocs serve -v

# 2. 在 site 文件夹下得到静态页面
pipenv run mkdocs build -v

# 获取 mkdocs 的命令行工具的说明(解释了命令和参数的含义)
pipenv run mkdocs --help

我们现在在服务器端渲染 MathJax,如果希望实现类似效果,可以参考 build.yml。(需要安装 Node.js)

镜像

# Gitee 码云 上的镜像仓库和 GitHub 仓库的内容相同
git clone https://gitee.com/OI-wiki/OI-wiki.git

离线版

可以使用 gh-pages 分支的内容

git clone https://gitee.com/OI-wiki/OI-wiki.git -b gh-pages

本地启动一个 http 服务器可能会更方便一些。

# 如果是 python3
python3 -m http.server
# 如果是 python2
python2 -m SimpleHTTPServer
# 有些环境下找不到名叫 python3/python2 的可执行文件,不妨运行 python 试试

Docker

详见 Docker 部署


如何参与完善 OI Wiki

我们非常欢迎你为 OI Wiki 编写内容,将自己的所学所得与大家分享。

具体的贡献方式在 如何参与


版权声明

知识共享许可协议
除特别注明外,项目中除了代码部分均采用(Creative Commons BY-SA 4.0) 知识共享署名 - 相同方式共享 4.0 国际许可协议及附加的 The Star And Thank Author License 进行许可。

换言之,使用过程中您可以自由地共享、演绎,但是必须署名、以相同方式共享、分享时没有附加限制,

而且应该为 GitHub 仓库点赞(Star)。

而如果你想要引用这个 GitHub 仓库,可以使用如下的 bibtex:

@misc{oiwiki,
  author = {OI Wiki Team},
  title = {OI Wiki},
  year = {2016},
  publisher = {GitHub},
  journal = {GitHub Repository},
  howpublished = {\url{https://github.com/OI-wiki/OI-wiki}},
}

鸣谢

本项目受 CTF Wiki 的启发,在编写过程中参考了诸多资料,在此一并致谢。

非常感谢一起完善 OI Wiki小伙伴们 和为 OI Wiki 捐赠的 朋友们

特别感谢 24OI 的朋友们的大力支持!

感谢 北大算协 和 Hulu 的支持!