Skip to content

Previous Open Source Promotion Plan Projects

ksyx edited this page Apr 30, 2024 · 2 revisions

项目简介

今年,中科院软件所与华为 openEuler 项目共同举办了 “开源软件供应链点亮计划——暑期2023” 项目。该项目与 Google Summer of Code 形式类似:开源社区提供项目需求并提供导师(mentor),在校学生利用暑期时间进行开发,主办方为顺利完成的项目提供一定额度的奖金。无论 GSoC 还是这次的“点亮计划”,都是一种非常好的开源实践范式,能够有效地增进高校学生对开源的理解、增加与真实社区的接触,并积累宝贵的经验。

本次 OI Wiki 有意作为社区加入这一计划,提供若干项目需求。欢迎有能力、有热情、有时间的小伙伴们参加。OI Wiki 愿意和大家一起,为国内的开源生态添砖加瓦。

感谢上方来自 TUNA 的文案

Note:

  • 决定报名之后建议邮件与导师联系并介绍一下自己,最好同时将邮件 cc 给 hi@oi-wiki.org 和合作导师
  • 本次活动 OI Wiki 将使用 Telegram 群组进行协同,建议先注册并加入我们的群组。
  • 项目内容可以适当调整,欢迎与我们讨论具体细节。
  • 项目描述:OI Wiki 是一个编程竞赛知识整合站点,提供有趣又实用的编程竞赛知识以及其他有帮助的内容,帮助广大编程竞赛爱好者更快更深入地学习编程竞赛。然而,算法与数据结构知识迭代更新较快,仍有很多 OI Wiki 尚未涉及的内容。本项目目标是选定若干新颖有趣的 topic,并将其引入 OI Wiki。寻找有趣的 topic 可以参考 Issue 中的 Iteration Plan,e-maxx-engAlgoWiki ,以及 NOI 考纲等资料 。
  • 项目难度:基础
  • 项目社区导师:Marcythm
  • 导师联系方式:marcythm@gmail.com
  • 合作导师联系方式(选填):
  • 项目产出要求:
    • 编写完整而易于理解的文档,能使初学者快速了解到算法或数据结构的主要思想
    • 使用 C / C++ 完整实现所选的算法数据结构
    • 设计 testcase
    • 协助解决目前项目中存在的 issue
  • 项目技术要求:
    • 能使用 Git 进行协作开发
    • 熟悉 C / C++
    • 热爱算法与数据结构
  • 相关的开源软件仓库列表:
  • 项目描述:OI Wiki 的 PDF 导出版本使用的过程中发现了一些不利于灰度打印的可读性问题,例如部分图片使用颜色作为主要特征,且在图论部分下该问题出现的情况较多,例如将图中的某些点和边标记为不同的颜色等。如果使用灰度打印,虽然可以勉强将不同颜色区别开来,但是相关的文字描述仍然使用颜色可能会对读者造成困惑。目前提出的方案有考虑在图片中使用线条风格粗细或者自适应灰度等特征,并生成图例进行标识。此外,部分页面使用了 ASVG 和 APNG 格式的动态图片来描述算法过程,但在打印版中大多只显示第一帧,而第一帧包含的信息可能是所有帧中最少的。对此一种可行的方案是单独储存关键帧的时间戳或图像本身并在 markdown 文件中进行标记。See Issue #4346,感谢 sf 提出本项目。
  • 项目难度:高
  • 项目社区导师:ksyx
  • 导师联系方式:ksyxmeow@outlook.com
  • 合作导师联系方式:Coelacanthus CoelacanthusHex@gmail.com
  • 项目产出要求:
    • 对图像进行处理使得不同颜色在灰度下仍能得到有效区分,并根据需要适当修改文字格式或文本使得图文对应
    • 设计一种关键帧标记方式,并实现一个简易工具方便用户进行手动选择
    • 在导出项目中实现关键帧图像提取、排版和输出
    • 尝试实现以如帧差、动画运动方向等作为判断依据的简单的关键帧识别机制
  • 项目技术要求:
    • 熟悉基本算法及图像处理基本概念
    • 熟悉排版格式和工具,主要是 Markdown 和 LaTeX
    • 熟悉动画图像格式 ASVG 和 APNG
  • 相关的开源软件仓库列表:
  • 项目描述:OI Wiki 现有一个基于 LaTeX 的 PDF 导出工具,但是 LaTeX 有一些不易解决的缺点,其中最为明显的是编译时间长(当前 OI Wiki 全站需要 50 分钟来编译),难以利用增量编译。Typst 是新兴的排版工具,功能较为全面,性能高,故本项目意图实现一个新的基于 Typst 的 PDF 导出工具,以解决 CI 运行时间过长,用户难以在本地运行的缺点。
  • 项目难度:高
  • 项目社区导师:Coelacanthus
  • 导师联系方式:CoelacanthusHex@gmail.com
  • 合作导师联系方式:ksyx ksyxmeow@outlook.vom
  • 项目产出要求:
    • 编写现有文档到 Typst 的转换工具
    • 要求产生的 PDF 格式上满足打印的需求
  • 项目技术要求:
    • 熟悉排版格式和工具,主要是 Markdown、Typst 和 LaTeX
    • 熟悉 remark 工具链
    • 对 parser 编写有一定了解
  • 相关的开源软件仓库列表:
  • 项目描述:OI Wiki 现有一个基于 LaTeX 的 PDF 导出工具,但是 LaTeX 有一些不易解决的缺点,其中最为明显的是编译时间长(当前 OI Wiki 全站需要50分钟来编译)。此外,每次 CI 都重新完全构建不仅拖慢了协作进程,加之 GitHub actions 单文件 artifact 也会打成 zip 的现状,会导致 CI artifact 使用频率降低。为此,本项目通过减少 CI artifact 的体积来促进 PDF 版本在导出前得到检查,确保导出质量。在实现时应该注意到修改图片有着相当于修改章节内容的效果。
  • 项目难度:高
  • 项目社区导师:crystalwinter
  • 导师联系方式:thecrystalwinter@protonmail.com
  • 合作导师联系方式(选填):
  • 项目产出要求:
    • 计算 PR 所影响的章节并验证所改变章节的 PDF 可以被重新生成
    • 在生成成功后根据 diff 中改变的行或者图片等 asset 信息生成新旧 PDF 的比较,以此向 reviewer 展示对 PDF 的改变,要求通过 edit 等方式避免触发邮件通知最小化邮件轰炸
  • 项目技术要求:
    • 熟悉排版格式和工具,主要是 Markdown 和 LaTeX
    • 熟悉 git api,CI 开发和基础算法
  • 相关的开源软件仓库列表:
  • 项目描述:目前 pymdownx 的 tabbed 语法已经在 OI Wiki 的文档中得到了广泛的运用。然而我们基于 remark 生态编写的周边基础工具链目前并不支持该语法。因此自动格式化机器人和pdf导出工具均无法正确处理这样的情况。为了改变这样的现状,本项目需要学生编写 remarkjs 和 micromark 插件,为 remark 添加该功能的支持。
  • 项目难度:高
  • 项目社区导师:mgt
  • 导师联系方式:mgt@oi-wiki.org
  • 项目产出要求:
  • 项目技术要求
    • 熟悉 typescript 和 remark 生态
    • 熟悉 GitHub 的使用,能与社区成员进行合作
  • 项目描述 / Description:随着图像到三维和文本到三维生成技术的快速发展,许多最新技术被应用于三维生成。然而,复杂的环境设置限制了三维生成管道的使用。这个项目旨在实现一个Gradio应用程序,简化文本到三维生成技术的用户体验。With the rapid advancement of image-to-3d and text-to-3d generation, many recent techniques are applied to 3D generation. However, the complicated environment setup limits the usage of 3D generation pipeline. This project aims to implement a Gradio app that simplifies the user experience.
  • 项目难度 / Difficulty:高 High
  • 项目社区导师:ir1d
  • 导师联系方式:Ir1d@protonmail.com
  • 合作导师联系方式(选填) / Co-Mentors (Optional):
  • 项目产出要求 / Expected Outcome:
    • 基于 Gradio 的 web app / Gradio Web APP
  • 项目技术要求 / Technical Requirements:
    • 熟悉 Gradio 框架 / Familiarity with Gradio framework
  • 相关的开源软件仓库列表:

简介

今年,中科院软件所与华为 openEuler 项目共同举办了 “开源软件供应链点亮计划——暑期2022” 项目。该项目与 Google Summer of Code 形式类似:开源社区提供项目需求并提供导师(mentor),在校学生利用暑期时间进行开发,主办方为顺利完成的项目提供一定额度的奖金。无论 GSoC 还是这次的“点亮计划”,都是一种非常好的开源实践范式,能够有效地增进高校学生对开源的理解、增加与真实社区的接触,并积累宝贵的经验。

本次 OI Wiki 有意作为社区加入这一计划,提供若干项目需求。欢迎有能力、有热情、有时间的小伙伴们参加,也欢迎小伙伴们在截止日期(5.10)前提出更多需求。OI Wiki 愿意和大家一起,为国内的开源生态添砖加瓦。

感谢上方来自 TUNA 的文案

Note:

  • 决定报名之后建议邮件与导师联系并介绍一下自己,最好同时将邮件 cc 给 hi@oi-wiki.org
  • 本次活动 OI Wiki 将使用 Telegram 群组进行协同,建议先注册并加入我们的群组
  • 在截止日期(5.10)前项目内容是可以灵活调整的,欢迎与我们讨论具体细节。

需求列表

1. 撰写、完善 OI Wiki 上的内容

  • 项目标题:撰写、完善 OI Wiki 上的内容
  • 项目描述:OI Wiki 是一个编程竞赛知识整合站点,提供有趣又实用的编程竞赛知识以及其他有帮助的内容,帮助广大编程竞赛爱好者更快更深入地学习编程竞赛。然而,算法与数据结构知识迭代更新较快,仍有很多 OI Wiki 尚未涉及的内容。本项目目标是选定若干新颖有趣的 topic,并将其引入 OI Wiki。寻找有趣的 topic 可以参考 Issue 中的 Iteration Plan,e-maxx-eng, AlgoWiki ,以及 NOI 考纲等资料 。
  • 项目难度:高
  • 项目社区导师: Marcythm
  • 导师联系方式: marcythm@gmail.com
  • 合作导师联系方式(选填):
  • 项目产出要求:
    • 编写完整而易于理解的文档,能使初学者快速了解到算法或数据结构的主要思想
    • 使用 C / C++ 完整实现所选的算法数据结构
    • 设计 testcase
    • 协助解决目前项目中存在的 issue
  • 项目技术要求:
    • 能使用 Git 进行协作开发
    • 熟悉 C / C++
    • 热爱算法与数据结构
  • 相关的开源软件仓库列表: https://github.com/OI-wiki/OI-wiki/
  • License: CC-BY-SA https://creativecommons.org/licenses/by-sa/4.0/deed.zh

2. 统一题目存储格式

  • 项目标题:统一题目存储格式
  • 项目描述:当前,OI Wiki 引用了很多例题、代码和测试数据。为了方便代码在线运行和代码 CI 功能的实现, 我们需要将代码, 测试数据与文档分开存储。本项目需要学生提出一种统一的存储格式, 可以方便代码在线运行, 代码 CI, 多语言代码展示等功能的后续实现。
  • 项目难度:高
  • 项目社区导师:StudyingFather
  • 导师联系方式:studyingfather@outlook.com
  • 合作导师联系方式(选填):mgt@oi-wiki.org
  • 项目产出要求:
    • 与目前编码风格保持一致,尽量以 Typescript 为主要编程语言
    • 协助解决目前项目中存在的 issue
  • 项目技术要求:
    • 前端开发的相关知识(HTML/CSS/Javascript/Typescript/React)
    • 能使用 Git 进行协作开发
    • 熟悉 remark 工具链或 gatsby 者优先
  • 相关的开源软件仓库列表: https://github.com/OI-wiki/gatsby-oi-wiki https://github.com/OI-wiki/OI-wiki/issues/3518
  • License: Apache https://github.com/OI-wiki/gatsby-oi-wiki/blob/master/LICENSE

3. OI Wiki VSCode 在线编辑工具

  • 项目标题: 在线编辑工具
  • 项目描述:目前,如果想参与 OI Wiki 的编辑难度较大,如果需要进行复杂编辑还需要在本地克隆整个仓库进行操作。为了简化操作,鼓励更多人参与贡献并生成更符合规范的修改记录,我们决定实现一个在线编辑器。我们决定使用 VSCode 作为项目的基础框架开始开发,希望你在本项目中可以将其完善,提供编辑工作流相关的一系列功能。
  • 项目难度:高
  • 项目社区导师:xd
  • 导师联系方式:ir1d@oi-wiki.org cc hi@oi-wiki.org
  • 项目产出要求:
    • 与目前编码风格保持一致,以 TypeScript 为主要编程语言
    • 实现一系列可选方向的编辑工作流功能,如基于 remark 的实时编辑预览、GitHub 登录、修改向导页面等等
  • 项目技术要求:
    • 前端开发的相关知识(HTML/CSS/ECMAScript/TypeScript)
    • 能使用 Git 进行协作开发
    • 熟悉 remark 工具链者优先
    • 熟悉 VSCode 与其插件开发者优先
  • 相关的开源软件仓库列表: https://github.com/OI-wiki/gatsby-oi-wiki
  • License: Apache https://github.com/OI-wiki/gatsby-oi-wiki/blob/master/LICENSE

4. 代码格式化插件

  • 项目标题:代码格式化插件
  • 项目目标:支持 python java 等语言的 remark 插件,以及支持对 LaTeX 格式的数学公式进行格式化。
  • 项目描述:目前 OI-Wiki 仓库中使用的代码语言包括 C/C++, Rust, Java, Python 等等,但是我们目前只对 C/C++ 语言编写了格式化插件,调用clang-format进行了格式化。希望你能编写remark插件,来格式化其他的语言。另一方面,由于LaTeX数学公式的语法较为复杂,目前市面上暂时还没有LaTeX公式的格式化器,我们还希望你能编写LaTeX公式的格式化器。
  • 项目难度:高
  • 项目社区导师:mgt
  • 导师联系方式:mgt@oi-wiki.org
  • 合作导师联系方式(选填):
  • 项目产出要求:
    • 实现 python java 等编程语言的格式化插件
    • 实现数学公式的格式化
    • 协助解决目前项目中存在的 issue
  • 项目技术要求:
    • 前端开发的相关知识(HTML/CSS/Javascript/Typescript/React)
    • 能使用 Git 进行协作开发
    • 熟悉 remark 工具链者优先
  • 相关的开源软件仓库列表: https://github.com/OI-wiki/OI-wiki/issues/3718 https://github.com/OI-wiki/remark-clang-format

5. 格式检查工具

  • 项目标题:格式检查工具
  • 项目描述:OI Wiki 有着长达五百余行的格式手册和一百余行的 htc,这些文档包含了详细的项目要求。但是这些文档很长,一条条手动检查耗时很长,并不现实。参考其他项目的选择,我们需要制作一套工具,尽可能的检查是否满足了要求,如果可能,可以更进一步实现自动修正。
  • 项目难度:高
  • 项目社区导师:Coelacanthus
  • 导师联系方式:coelacanthus@outlook.com
  • 合作导师联系方式(选填):ksyx ksyx@oi-wiki.org
  • 项目产出要求:
    • 完成基础的文档格式、辅助数据和提交信息的检查
    • 进一步可以添加 CI 和 Git Hook 集成
    • 进一步可以帮助完善格式要求及文档
    • 进一步可以实现自动修正
  • 项目技术要求:
    • 熟悉 Bash、Perl、Python 和 TypeScript 中的一门或几门语言
    • 能使用 Git 进行协作开发
  • 相关的开源软件仓库列表: https://github.com/OI-wiki/OI-wiki
  • License: Apache https://github.com/OI-wiki/gatsby-oi-wiki/blob/master/LICENSE

6. OI Wiki 语义化段落

  • 项目标题:OI Wiki 语义化段落
  • 项目描述:维护 OI Wiki 现有内容中的段落逻辑结构,给段落标记对应的表达方式,让每个段落的作用变得确定。
  • 项目难度:中
  • 项目社区导师:Xeonacid
  • 导师联系方式:acid@oi-wiki.org
  • 合作导师联系方式(选填):
  • 项目产出要求:
    • 梳理现有内容中的段落逻辑结构
    • 给段落标记对应的表达方式
  • 项目技术要求:
    • 具有文档 / wiki 维护经验
    • 能使用 Git 进行协作开发
    • 热爱算法与数据结构
  • 相关的开源软件仓库列表: https://github.com/OI-wiki/OI-wiki/issues/3818
  • License: CC-BY-SA https://creativecommons.org/licenses/by-sa/4.0/deed.zh

项目简介

今年,中科院软件所与华为 openEuler 项目共同举办了 “开源软件供应链点亮计划——暑期2021” 项目。该项目与 Google Summer of Code 形式类似:开源社区提供项目需求并提供导师(mentor),在校学生利用暑期时间进行开发,主办方为顺利完成的项目提供一定额度的奖金。无论 GSoC 还是这次的“点亮计划”,都是一种非常好的开源实践范式,能够有效地增进高校学生对开源的理解、增加与真实社区的接触,并积累宝贵的经验。

本次 OI Wiki 有意作为社区加入这一计划,提供若干项目需求。欢迎有能力、有热情、有时间的小伙伴们参加,也欢迎小伙伴们在截止日期(5.20)前提出更多需求。OI Wiki 愿意和大家一起,为国内的开源生态添砖加瓦。

感谢上方来自 TUNA 的文案

Note:

  • 决定报名之后建议邮件与导师联系并介绍一下自己,最好同时将邮件 cc 给 hi@oi-wiki.org
  • 本次活动 OI Wiki 将使用 Telegram 群组进行协同,建议先注册并加入我们的群组
  • 在截止日期(5.20)前项目内容是可以灵活调整的,欢迎与我们讨论具体细节。

需求列表

1. 撰写、完善 OI Wiki 上的内容

  • 项目标题:撰写、完善 OI Wiki 上的内容
  • 项目描述:OI Wiki 是一个编程竞赛知识整合站点,提供有趣又实用的编程竞赛知识以及其他有帮助的内容,帮助广大编程竞赛爱好者更快更深入地学习编程竞赛。然而,算法与数据结构知识迭代更新较快,仍有很多 OI Wiki 尚未涉及的内容。本项目目标是选定若干新颖有趣的 topic,并将其引入 OI Wiki。寻找有趣的 topic 可以参考 Issue 中的 Iteration Plan,e-maxx-engAlgoWiki ,以及 NOI 考纲等资料 。
  • 项目难度:高
  • 项目社区导师:Marcythm
  • 导师联系方式:marcythm@gmail.com
  • 合作导师联系方式(选填):
  • 项目产出要求:
    • 编写完整而易于理解的文档,能使初学者快速了解到算法或数据结构的主要思想
    • 使用 C / C++ 完整实现所选的算法数据结构
    • 设计 testcase
    • 协助解决目前项目中存在的 issue
  • 项目技术要求:
    • 能使用 Git 进行协作开发
    • 熟悉 C / C++
    • 热爱算法与数据结构
  • 相关的开源软件仓库列表:
  • License: CC-BY-SA https://creativecommons.org/licenses/by-sa/4.0/deed.zh

2. 优化 OI Wiki 前端渲染框架

  • 项目标题:优化前端渲染框架
  • 项目描述:当前,OI Wiki 使用 mkdocs 作为静态页面生成引擎。然而由于 mkdocs 并非专门为 Wiki 类项目设计,因而与我们的需求存在较大差距,此外还难以实现对语法和页面的定制。因此,目前 OI Wiki 正在将前端迁移到基于 React 和 GraphQL 的页面生成框架 Gatsby 上,从而实现对页面的深度定制。目前,我们已经实现了基本的框架代码(见下面的仓库)。然而它还不尽完善,我们希望为它添加更多的功能,覆盖用户的需求。
  • 项目难度:高
  • 项目社区导师:xd
  • 导师联系方式:xd.summer@liquid.ist
  • 合作导师联系方式(选填):mgt@oi-wiki.org
  • 项目产出要求:
    • 协助升级 gatsby 到最新的版本
    • 与目前编码风格保持一致,尽量以 Typescript 为主要编程语言
    • 优化前端代码,提升在移动设备上的响应速度
    • 尽可能实现 i18n 功能,为页面及框架提供中英双语支持
    • 加入用户推荐和投票功能,对用户提交的推荐链接根据 vote 高低的顺序进行展示
    • 协助解决目前项目中存在的 issue
  • 项目技术要求:
    • 前端开发的相关知识(HTML/CSS/Javascript/Typescript/React)
    • 能使用 Git 进行协作开发
    • 熟悉 remark 工具链或 gatsby 者优先
  • 相关的开源软件仓库列表:
  • License: Apache https://github.com/OI-wiki/gatsby-oi-wiki/blob/master/LICENSE

3. OI Wiki 在线编辑工具

  • 项目标题: 在线编辑工具
  • 项目描述:目前,如果想参与 OI Wiki 的编辑,就需要 clone 整个仓库进行构建,我们希望在即将上线的基于 Gatsby 的网站中,支持在线编辑 markdown 文档。由于我们使用了一些 remark 插件,Github 自带的 markdown 预览功能相比之下比较匮乏。
  • 项目难度:高
  • 项目社区导师:xd
  • 导师联系方式:xd.summer@liquid.ist
  • 合作导师联系方式(选填):mgt@oi-wiki.org
  • 项目产出要求:
    • 与目前编码风格保持一致,尽量以 Typescript 为主要编程语言
    • 完善项目的 Typescript 支持,将部分使用 Javascript 书写的旧代码迁移至 Typescript
    • 实现在线编辑工具
    • 协助解决目前项目中存在的 issue
  • 项目技术要求:
    • 前端开发的相关知识(HTML/CSS/Javascript/Typescript/React)
    • 能使用 Git 进行协作开发
    • 熟悉 remark 工具链者优先
  • 相关的开源软件仓库列表:
  • License: Apache https://github.com/OI-wiki/gatsby-oi-wiki/blob/master/LICENSE

4. OI Wiki 在线运行工具

  • 项目标题:在线运行工具
  • 项目描述:**在申请本项目前请一并阅读项目 8(示例的持续集成),且请进行必要的交流。**目前,我们展示的示例代码只能通过复制到别的平台来进行调试,我们希望能通过本项目,将示例代码与文档分离,并在 CI 时使用样例数据对示例代码进行校验,从而实现更方便的对示例代码的运行和测试。
  • 项目难度:高
  • 项目社区导师:Billchenchina
  • 导师联系方式:bill@oi-wiki.org
  • 合作导师联系方式(选填):hi@oi-wiki.org
  • 项目产出要求:
    • 与目前编码风格保持一致,尽量以 Typescript 为主要编程语言
    • 实现在线运行工具
    • 协助解决目前项目中存在的 issue
  • 项目技术要求:
    • 前端开发的相关知识(HTML/CSS/Javascript/Typescript/React)
    • 能使用 Git 进行协作开发
  • 相关的开源软件仓库列表:

5. 翻译活动(Import)

6. 翻译活动(Export)

  • 项目标题:OI Wiki 国际化
  • 项目描述:OI Wiki 上收录了大量优质的算法内容,但是他们主要是以中文编写的,会对外国友人的学习造成一定的障碍,因此为了更好的扩大 OI Wiki 的影响力和帮助到更多的人,开展本项目。本项目主要内容为将 OI Wiki 上现有的内容按照格式要求翻译成英文。
  • 项目难度:中
  • 项目社区导师: ksyx
  • 导师联系方式:ksyxmeow@outlook.com
  • 合作导师联系方式(选填):
  • 项目产出要求:
    • 将部分现有页面(含图片内的中文)翻译成英文
      • 校对现有已翻译内容,将主站增加的部分内容加入
  • 项目技术要求:
    • 具有一定的英语能力
    • 能使用 Git 进行协作开发
    • 熟悉 Markdown 和 MathJax 语法
    • 热爱算法与数据结构
    • 具有翻译经验者优先
  • 相关的开源软件仓库列表:
  • License: CC-BY-SA https://creativecommons.org/licenses/by-sa/4.0/deed.zh

7. 编修、清理、校订 OI Wiki 文档

  • 项目标题:编修、清理、校订 OI Wiki 的文档
  • 项目描述:OI Wiki 上收录了大量优质的算法内容,但是仍有相当多的页面在语言表述上较为随意,会对大家学习体验与效果产生一定的影响。本项目希望能将 OI Wiki 上现有的内容按照格式要求进行合理的编修、调整格式、清理、校订。
  • 项目难度:中
  • 项目社区导师: marcythm
  • 导师联系方式:marcythm@gmail.com
  • 合作导师联系方式(选填):
  • 项目产出要求:
    • 梳理部分现有页面的语言风格及表述
  • 项目技术要求:
    • 具有文档 / wiki 维护经验
    • 熟悉 Wiki 语言风格
    • 能使用 Git 进行协作开发
    • 熟悉 Markdown 和 MathJax 语法
    • 热爱算法与数据结构
  • 相关的开源软件仓库列表:
  • License: CC-BY-SA https://creativecommons.org/licenses/by-sa/4.0/deed.zh

8. OI Wiki 示例的持续集成

  • 项目标题:示例的持续集成
  • 项目描述:OI Wiki 上目前收录了大量题目等代码,我们希望能整理这部分代码并统一风格(移除快速读入、宏等与主体内容无关的部分)。同时,在这个项目中,我们希望能对这部分代码部署持续集成功能,来方便维护。在申请本项目前请一并阅读项目 4(在线运行工具),且请进行必要的交流
  • 项目难度:高
  • 项目社区导师: ir1d
  • 导师联系方式:sirius.caffrey@gmail.com
  • 合作导师联系方式(选填): hi@oi-wiki.org
  • 项目产出要求:
    • 整理代码风格
    • 对示例代码部署持续集成功能
  • 项目技术要求: - 有持续集成构建经验、C++ 语言能力
    • 能使用 Git 进行协作开发
    • 热爱算法与数据结构
  • 相关的开源软件仓库列表:
  • License: CC-BY-SA https://creativecommons.org/licenses/by-sa/4.0/deed.zh

9. OI Wiki Python 示例重构

  • 项目标题:Python 示例重构
  • 项目描述:OI Wiki 上收录了大量题目等代码,主要是使用 C++ 来进行实现的。在这个项目中,我们希望能对经典算法维护 python 版本的简洁实现。
  • 项目难度:中
  • 项目社区导师: Xeonacid
  • 导师联系方式:acid@oi-wiki.org
  • 合作导师联系方式(选填): hi@oi-wiki.org
  • 项目产出要求:
    • 对经典算法维护 Python 版本的简洁实现
    • 要求可以提交到 Online Judge 进行测试
  • 项目技术要求:
    • 会使用 Python
    • 能使用 Git 进行协作开发
    • 熟悉 Markdown 和 MathJax 语法
    • 热爱算法与数据结构
  • 相关的开源软件仓库列表:
  • License: CC-BY-SA https://creativecommons.org/licenses/by-sa/4.0/deed.zh

10. 优化基于 unifiedjs 的 markdown 基础设施

11. 优化 OI Wiki pdf 导出工具

  • 项目标题:优化 pdf 导出工具
  • 项目描述:目前,我们已有将 markdown 导出为基于 LaTeX 的 pdf 工具,我们希望在本项目中进一步将其完善:
  • 项目难度:高
  • 项目社区导师: mgt
  • 导师联系方式:mgt@oi-wiki.org
  • 项目产出要求:
    • 优化对链接的处理,将 pdf 中的超链接对应到页码或者二维码(并将二维码嵌入页面)
    • 实现 .epub / .azw3 格式的导出
    • 优化输出的 pdf 的样式,处理不同语言的字形和字体
  • 项目技术要求:
    • 会使用 JavaScript
    • 能使用 Git 进行协作开发
    • 熟悉 LaTeX 与常用宏包
    • 熟悉 remark 系列生态
  • 相关的开源软件仓库列表:
  • License: MIT https://github.com/OI-wiki/OI-Wiki-export/blob/master/LICENSE

12. OI Wiki 在线题单提名及投票功能

  • 项目标题: 在线题单提名及投票功能
  • 项目描述:随着 NOI 考纲的发布,我们希望能尽量按照考纲整合优质题目资源。然而,由于题目质量参差不齐,我们希望在新上线的前端系统中支持提名优质题目并对现有例题进行投票的功能。
  • 项目难度:高
  • 项目社区导师: ir1d
  • 导师联系方式:sirius.caffrey@gmail.com
  • 合作导师联系方式(选填):hi@oi-wiki.org
  • 项目产出要求:
    • 与目前编码风格保持一致,尽量以 Typescript 为主要编程语言
    • 实现在线题单提名及投票功能
    • 协助解决目前项目中存在的 issue
  • 项目技术要求:
    • 前端开发的相关知识(HTML/CSS/Javascript/Typescript/React)
    • 能使用 Git 进行协作开发
  • 相关的开源软件仓库列表:
  • License: Apache https://github.com/OI-wiki/gatsby-oi-wiki/blob/master/LICENSE

13. 使用 SVG 优化 OI Wiki 中的图像

  • 项目标题:使用 SVG 优化 OI Wiki 中的图像
  • 项目描述:OI Wiki 的算法讲解中使用了许多的图像,现在大多是使用的 PNG 或者 JPG 图片,体积较大,加载缓慢,并且在非原图分辨率下清晰度较差。本项目目标是使用 SVG 重制优化 OI Wiki 中的图像,以增强其清晰度和显示效果。
  • 项目难度:中
  • 项目社区导师:Coelacanthus
  • 导师联系方式:coelacanthus@outlook.com
  • 合作导师联系方式(选填):ksyx ksyxmeow@outlook.com
  • 项目产出要求:
    • 用 SVG 重制优化现有图像
  • 项目技术要求:
    • 能使用 Git 进行协作开发
    • 熟悉 TiKz,Adobe AI 或 Inkscape 等 SVG 绘制工具
    • 热爱算法与数据结构
  • 相关的开源软件仓库列表:
  • License: CC-BY-SA https://creativecommons.org/licenses/by-sa/4.0/deed.zh

项目简介

今年,中科院软件所与华为 openEuler 项目共同举办了 “开源软件供应链点亮计划——暑期2020” 项目。该项目与 Google Summer of Code 形式类似:开源社区提供项目需求并提供导师(mentor),在校学生利用暑期时间进行开发,主办方为顺利完成的项目提供一定额度的奖金。无论 GSoC 还是这次的“点亮计划”,都是一种非常好的开源实践范式,能够有效地增进高校学生对开源的理解、增加与真实社区的接触,并积累宝贵的经验。

本次 OI Wiki 有意作为社区加入这一计划,提供若干项目需求。欢迎有能力、有热情、有时间的小伙伴们参加,也欢迎小伙伴们在截止日期(5.29)前提出更多需求。OI Wiki 愿意和大家一起,为国内的开源生态添砖加瓦。

感谢上方来自 TUNA 的文案

Note:

  • 决定报名之后建议邮件与导师联系并介绍一下自己,最好同时将邮件 cc 给 hi@oi-wiki.org
  • 本次活动 OI Wiki 将使用 Telegram 群组进行协同,建议先注册并加入我们的群组。
  • 在截止日期(5.29)前项目内容是可以灵活调整的,欢迎与我们讨论具体细节。

需求列表

1. 撰写、完善 OI Wiki 上的内容

  • 项目标题:撰写、完善 OI Wiki 上的内容
  • 项目描述:OI Wiki 是一个编程竞赛知识整合站点,提供有趣又实用的编程竞赛知识以及其他有帮助的内容,帮助广大编程竞赛爱好者更快更深入地学习编程竞赛。然而,算法与数据结构知识迭代更新较快,仍有很多 OI Wiki 尚未涉及的内容。本项目目标是选定若干新颖有趣的 topic,并将其引入 OI Wiki。寻找有趣的 topic 可以参考 e-maxx-engAlgoWiki 等资料 。
  • 项目难度:中
  • 项目社区导师:ir1d
  • 导师联系方式: sirius.caffrey@gmail.com
  • 合作导师联系方式(选填):Falsyta falsyta@pku.edu.cn
  • 项目产出要求:
    • 编写完整而易于理解的文档,能使初学者快速了解到算法或数据结构的主要思想
    • 使用 C / C++ 完整实现所选的算法数据结构
    • 设计 testcase
    • 协助解决目前项目中存在的 issue
  • 项目技术要求:
    • 能使用 Git 进行协作开发
    • 熟悉 C / C++
    • 热爱算法与数据结构
  • 相关的开源软件仓库列表:
  • License: CC-BY-SA https://creativecommons.org/licenses/by-sa/4.0/deed.zh

2. 改进前端渲染框架

  • 项目标题:改进前端渲染框架
  • 项目描述:当前,OI Wiki 使用 mkdocs 作为静态页面生成引擎。然而由于 mkdocs 并非专门为 Wiki 类项目设计,因而与我们的需求存在较大差距,此外还难以实现对语法和页面的定制。因此,目前 OI Wiki 正在将前端迁移到基于 React 和 GraphQL 的页面生成框架 Gatsby 上,从而实现对页面的深度定制。目前,我们已经实现了基本的框架代码(见下面的仓库)。然而它还不尽完善,我们希望为它添加更多的功能,覆盖用户的需求。
  • 项目难度:中
  • 项目社区导师:mgt/Enter-tainer
  • 导师联系方式:mgt@oi-wiki.org
  • 合作导师联系方式(选填):hi@oi-wiki.org
  • 项目产出要求:
    • 与目前编码风格保持一致,尽量以 Typescript 为主要编程语言
    • 完善项目的 Typescript 支持,将部分使用 Javascript 书写的旧代码迁移至 Typescript
    • 为现有的框架添加 Blog / Changelog 功能
    • 尽可能实现 i18n 功能,为页面及框架提供中英双语支持
    • 对接相关后端服务,为现有的框架添加代码运行功能
    • 对用户提交的推荐链接根据 vote 高低的顺序进行展示
    • 协助解决目前项目中存在的 issue
  • 项目技术要求:
    • 前端开发的相关知识(HTML/CSS/Javascript/Typescript/React)
    • 能使用 Git 进行协作开发
  • 相关的开源软件仓库列表:
  • License: Apache https://github.com/OI-wiki/gatsby-oi-wiki/blob/master/LICENSE

3. 完善基于 Unified AST 的 markdown 基础设施

  • 项目标题:完善基于 Unified AST 的 markdown 基础设施
  • 项目描述:在即将上线的新前端中,为了支持我们的诸多 markdown 自定义语法, OI Wiki 使用 remark 作为 markdown parser,并使用 rehype 生成对应的 html 页面。

首先,我们希望能够基于现有的 Unified AST,生成相应的 LaTeX code 并导出排版优美的 pdf 文档。OI Wiki 开发过一版导出工具(见下面的仓库 remark-latex),但是由于缺乏维护,对于图片等语法的支持不够完善,使用起来也需要大量人工操作。我们希望能够基于 Unified AST 及现有实现,改进或重构出一个较优美的 markdown 转 LaTeX 导出工具。此外,上游社区也有一些优秀的 LaTeX AST 实现供参考(见下面的 latex-utensils 及 LaTeX.js)。

其次,为了让多人协作的 markdown 文件更整齐,我们采用了 remark-lint 来规范 markdown 中内容的格式。目前 OI Wiki 的格式化工具见下方 linter 仓库,启用的格式化规则见 https://github.com/OI-wiki/OI-wiki/blob/master/.remarkrc ,但是目前的实现还不够完善,比如对于公式两侧添加若干多余的空格、details 语法限制过严等等。我们希望通过这个项目,规范整理 lint 规则。

4. 测试数据生成工具

  • 项目标题:测试数据生成工具
  • 项目描述:在即将上线的新前端中,我们希望能添加一些辅助竞赛选手的实用工具。测试数据生成工具就是其中之一。在解题过程中,选手往往会有自己造一些样例数据的需求,我们希望能设计一个前端工具来简化这一流程。目前有一些类似的工具供参考,如 cyaron,testlib, Tree-Generator (见下方仓库)。
  • 项目难度:中
  • 项目社区导师:Billchenchina
  • 导师联系方式:billchenchina2001@gmail.com
  • 项目产出要求:
    • 设计并实现一个测试数据生成工具
    • 添加文档及测试用例
  • 项目技术要求:
    • 前端开发的相关知识(HTML/CSS/Javascript/Typescript/React)
    • 数据结构与算法基础
    • 能使用 Git 进行协作开发
  • 相关的开源软件仓库列表:
  • License: Apache https://github.com/OI-wiki/gatsby-oi-wiki/blob/master/LICENSE

5. 翻译活动(Import)

6. 翻译活动(Export)

  • 项目标题:OI Wiki 国际化
  • 项目描述:OI Wiki 上收录了大量优质的算法内容,但是他们主要是以中文编写的,会对外国友人的学习造成一定的障碍,因此为了更好的扩大 OI Wiki 的影响力和帮助到更多的人,开展本项目。本项目主要内容为将 OI Wiki 上现有的内容按照格式要求翻译成英文。
  • 项目难度:中
  • 项目社区导师:ksyx
  • 导师联系方式:ksyxmeow@outlook.com
  • 合作导师联系方式(选填): Marcythm marcythm@gmail.com
  • 项目产出要求:
    • 将部分现有页面(含图片内的中文)翻译成英文
  • 项目技术要求:
    • 具有一定的英语能力
    • 能使用 Git 进行协作开发
    • 熟悉 Markdown 和 MathJax 语法
    • 热爱算法与数据结构
    • 具有翻译经验者优先
  • 相关的开源软件仓库列表:
  • License: CC-BY-SA https://creativecommons.org/licenses/by-sa/4.0/deed.zh

7. 编修、清理、校订 OI Wiki 文档

  • 项目标题:编修、清理、校订 OI Wiki 的文档
  • 项目描述:OI Wiki 上收录了大量优质的算法内容,但是仍有相当多的页面在语言表述上较为随意,会对大家学习体验与效果产生一定的影响。本项目希望能将 OI Wiki 上现有的内容按照格式要求进行合理的编修、调整格式、清理、校订。
  • 项目难度:中
  • 项目社区导师:Marcythm
  • 导师联系方式:marcythm@gmail.com
  • 合作导师联系方式(选填): hi@oi-wiki.org
  • 项目产出要求:
    • 梳理部分现有页面的语言风格及表述
  • 项目技术要求:
    • 具有文档 / wiki 维护经验
    • 熟悉 Wiki 语言风格
    • 能使用 Git 进行协作开发
    • 熟悉 Markdown 和 MathJax 语法
    • 热爱算法与数据结构
  • 相关的开源软件仓库列表:
  • License: CC-BY-SA https://creativecommons.org/licenses/by-sa/4.0/deed.zh
Clone this wiki locally