Description of the project:
The llvm.org website serves as the central hub for information about the
LLVM project, encompassing project details, current events, and relevant
resources. Over time, the website has evolved organically, prompting the
need for a redesign to enhance its modernity, structure, and ease of
maintenance.
The goal of this project is to create a contemporary and coherent static
website that reflects the essence of LLVM.org. This redesign aims to improve
navigation, taxonomy, content discoverability, mobile device support,
accessibility, and overall usability. Given
the critical role of the website in the community, efforts will be made to
engage with community members, seeking consensus on the proposed changes.
Expected result:
A modern, coherent-looking website that attracts new prospect users and
empowers the existing community with better navigation, taxonomy, content
discoverability, and overall usability. Since the website is a critical
infrastructure and most of the community will have an opinion this project
should try to engage with the community building community consensus on the
steps being taken. Suggested approach:
Conduct a comprehensive content audit of the existing website.
Select appropriate technologies, preferably static site generators
like Hugo or Jekyll.
Advocate for a separation of data and visualization, utilizing formats
such as YAML and Markdown to facilitate content management without
direct HTML coding.
Present three design mockups for the new website, fostering open
discussions and allowing time for alternative proposals from interested
parties.
Implement the chosen design, incorporating valuable feedback from the
community.
Collaborate with content creators to integrate or update content as
needed.
The successful candidate should commit to regular participation in weekly
meetings, deliver presentations, and contribute blog posts as requested.
Additionally, they should demonstrate the ability to navigate the community
process with patience and understanding.
Skills:
Knowledge in the area of web development with static site generators.
Knowledge in html, css, bootstrap, and markdown. Patience and self-motivation.
Hello! I’m genuinely interested in this project.
I’m a pre final year student pursuing Computer Science and my background includes experience in HTML, CSS, Bootstrap, Figma, Javascript, Typescript, AngularJS and I’m eager to leverage these skills to contribute effectively to project. While I may need to learn additional technologies specific to the project, I am committed to fast-paced learning and adapting to new requirements.
Specific observations from my review of the existing website:
As mentioned in project description, the visual design appears dated and could benefit from a refresh that reflects the project’s modernity.
The navigation structure could be improved to enhance discoverability and user experience, especially for newcomers.
The content hierarchy and organization could be optimized for better information flow and searchability.
Mobile responsiveness and accessibility could be enhanced to ensure inclusivity and optimal user experience across devices.
I want to clarify that these are just initial observations based on my current understanding. I completely acknowledge the complexity and scale of this project, and I am eager to learn more about the existing codebase, community feedback, and specific challenges you’re facing.
To best prepare myself, I’d be grateful if you could recommend resources or initial tasks to familiarize myself with the existing codebase and understand the community feedback gathered in more detail. I’m committed to actively participating in community discussions and providing valuable feedback on design proposals.
Thank you for considering my interest in the project. I am excited about the opportunity to collaborate with the LLVM community and contribute to the success of this important initiative.
I’m interested in this project and have some experiences in font-end development (mainly with React.js). I also managed my own tech blogs / project docs with some static web generator tools (like Hexo, Hugo, Jekyll). Usually, for a project, many teams may first consider some mature solutions (for example gitbook). I appreciate the idea and effort to customize a modern website for all resources. But I still have one quick question, why not consider those solutions and estimate it as a large and difficult project?
I’ve been hoping for something like this for soooooo long!
While I had been toying with the idea of proposing something for almost as long, it was clear that this was a larger project than I could ever hope to do in my freetime.
Now that this is happening, allow me to share some things that I had in mind:
a version-picker that allows switching between the state of the documentation for various releases (e.g. main, 18.x, 17.x, etc.), with corresponding url scheme – this is standard in many other ecosystems, compare e.g. NumPy (see upper right-hand corner).
the content behind those should be automatically built from the release branches (resp. tags), not manually by the release managers. The latter means it often doesn’t happen, especially for RCs or later patch releases
all subprojects should have the same look and feel (if stakeholders can agree…), and ideally, the top-bar should have a ribbon with links to the other subproject pages (and possible highlight for the current one – compare how “API Reference” is highlighted here).
the content of llvm.org should have the same style, and ideally, be generated from the same repo
there should be one collected “conformance” page (obviously the content still needs to be sharded). Currently it’s quite a hassle to find the various pages for standards regarding C / C++ / Fortran / OpenMP / etc.
various nice-to-haves like support for dark-theme, side-TOCs and search functionality, etc.
Even if those features doesn’t end up being part of the GSoC project, I hope we can eventually get to something like a state-of-the-art website, and the consolidation proposed here is a big first step.
Thank you for expressing your interest. A good first step would be to send your CVs to the mentors via e-mail. It’d be awesome if you can list several related webpages that you have created and demonstrate your skills.
As a second stage it would be nice to write a couple of paragraphs of your vision how to tackle the challenge and then we can move forward to writing a project description. Instead of an evaluation task, if you’d like to build a stronger applicant case it might be a good idea to create a mockup of the new website demonstrating your vision and technical skills and send it over to the mentors.
To be clear, I won’t be able to apply for this. I’m just excited that it’s happening and wanted to share some related thoughts I’ve had for a while.
Hello! This project seems to be a little different from the other LLVM project ideas in this years GSoC I was wondering if the proposals for this project should follow the same format they recommend here. Basically should we still explain our knowledge on compilers and LLVM more specifically.
Yes, you are right, this project is slightly different. However, the proposal should still demonstrate that you have a good grasp of LLVM. Although it might not help you with the implementation of the website itself, it will help you with figuring out how to structure its content.
I think explaining your background and why you are interested is highly valuable for the mentors to determine which is the right candidate for the project. While being an expert in compilers is not necessarily a requirement, you should understand who your target audience(s) are.
Not a web expert, but I strongly support this effort!
We can start from the edges (like MLIR did), but with a wider discussion on what we really want, instead of picking multiple. There’s an argument to go with what MLIR has already done (because it’s a major project and a new style), but I’d actually make sure this is the direction we want to go before committing. Converting between styles is usually easier (scripts) than maintaining a costly infrastructure (like the one we have today).
@vvassilev, in addition to your “approach” points, I’d also link this to the infrastructure group. We want to make sure whatever technology we select is maintainable long term. Preferably, we’d also like to host this on a place we don’t have to manually setup machines ourselves (ex. Github) and have actions that build the documentation automatically without external infra (ex. cron jobs).
Your suggestion will probably save a lot of time and discussions. My worry is that the edges represent a subset of the LLVM community and we should give an opportunity for the entire community to have a say where we want to go. My idea was to limit ourselves to llvm.org (and maybe clang.llvm.org) excluding documentation. That is, we provide a good-looking web design and good split between visualization and data representation. If that succeeds we can expand to other areas. And yes, if there is something we can borrow for free from the MLIR website why not.
That’s really good point. This aspect should be included in the proposals and the eventual future RFCs.
I expect that we will be either hated or loved or maybe my least-favored – a superposition of both
Please check out the RFC (Request For Comments) for the LLVM.org Website Redesign project here. Your feedback and participation are highly appreciated!