Skip to content

Instantly share code, notes, and snippets.

@drichards-87
Last active November 27, 2019 20:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save drichards-87/57d97b944b067bc5aab3479e8a649e99 to your computer and use it in GitHub Desktop.
Save drichards-87/57d97b944b067bc5aab3479e8a649e99 to your computer and use it in GitHub Desktop.
2019 Google Season of Docs Project Report - LLVM Compiler Infrastructure
# 2019 Google Season of Docs Project Report - LLVM Compiler Infrastructure
My Google Season of Docs project for the LLVM Compiler Infrastructure involved restructuring the documentation site and updating the Sphinx style guide for new contributors. For a list of commits associated with my project, see https://github.com/llvm/llvm-project/commits?author=drichards-87.
Restructuring the LLVM documentation site was my primary focus during the doc development phase of the program. The old site consisted of a single page on which all articles were listed. The steps I took to accomplish my goal are as follows:
1. Inventoried the existing articles on the documentation site.
2. Reviewed each article to identify common patterns, subjects, etc.
3. Categorized the articles based on subject and topic type (e.g., overview, task, reference).
4. Added new pages for each high-level category (Getting Started/Tutorials, User Guides, Reference, Community).
5. Moved existing articles to the appropriate categories and sub-categories.
6. Pushed my changes to the git repository.
## Current state of project
The restructuring of the LLVM documentation site is now complete. Articles are now grouped under specific categories and sub-categories. Additionally, the Sphinx style guide for new contributors has been updated to include additional details about the tooling (reStructuredText and Sphinx) used to generate the documentation site.
That said, I believe there's still much that can be done to improve the LLVM documentation. Future contributors might want to focus on cleaning up existing articles, verifying accuracy of content, and updating the existing Getting Started guide. This would probably be best suited for someone already familiar with compiler technologies.
## Challenges
The subject matter was highly technical and complex. As someone not familiar with compilers, it took me quite awhile to establish a high-level understanding of how the different components of the LLVM compiler project actually worked. Additionally, this was my first time working with an open-source project.
## Learnings
I learned quite a lot about compiler technologies, how to contribute to an open-source project, and was also able to gain experience using a new documentation toolchain (reStructuredText and Sphinx). I greatly appreciate LLVM, my mentor Tanya Lattner, and the LLVM community for welcoming me and providing insight and guidance throughout the course of the project.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment