In a nutshell, VuePress is a minimalist static site generator that generates pre-rendered static HTML pages for each markdown file you write and runs as a SPA (single page application) once a page is loaded. That means a VuePress site will be SEO friendly while keeping the advantages of a single page application.
VuePress was created by Evan You to overcome limitations he faced when improving the Vue.js documentation. The primary goal of VuePress was to provide an easy solution to create documentation from markdown files, as it is the most common way to write technical documentation. But actually, you can use VuePress for any sort of static content site: blogs, landing pages, demonstration websites, etc.
The cool thing is that if you’re a Vue developer, you can easily extend and customize your VuePress site by writing themes and plugins. You can even use Vue syntax and components inside your markdown files!
Before joining the core team, I was already using VuePress for my open source projects' documentation and my personal website. I was really impressed by how easy it was to bootstrap a site with this generator and really enjoying it as a tool. So when I saw a tweet from Evan You announcing the establishment of a VuePress core team, I jumped in and applied for the position.
Today the Vue community is pretty big. As VuePress is an official project from the Vue organization, it's easy to let the relevant developers know about it. Also, there are a lot of tweets, articles, videos, and talks about VuePress. My opinion is that the community contributes a lot to the promotion of this project.
Actually, the workflow is pretty simple. Everything we’re working on is public and available on GitHub on the “issues” page. We use Github labels to quickly identify the topic of an issue (bug? feature? high priority issue?). Both external contributors and core team members can be assigned to an issue. Anyone can contribute to VuePress, and there are “good first issues” for newcomers. Contributions are welcome!
We try to reply to/process issues and pull requests created by the community ASAP, but it’s kind of hard given the number of contributions we’re receiving each week. To avoid accumulating too many issues, we use a GitHub bot that closes issues after a period of inactivity. For example, if an issue reporter does not show any sign of activity within 20 days, the issue will be automatically closed by the bot.
Dealing with external contributions is a big part of our time on VuePress. We receive a lot of contributions from the Vue.js community which is great. But it also costs us a lot of time because we need to review those contributions and test them conscientiously. A little mistake would impact thousands of users, so we need to be careful.
We also use Notion and Discord to discuss different topics like the future of VuePress, what are the next big goals, new releases and so on.
None of the core team members are working full-time on VuePress. We all have a job on the side, so we invest in VuePress in our spare time. Unfortunately, there are not a lot of full-time open source maintainers nowadays.
That being said, I personally have the chance to work for an awesome company (Zenika) that allows me to devote 10% of my work hours to open-source and VuePress.
One of the biggest challenges for me was accepting that there will always be pending issues and pull requests on the project. When I joined the team, I saw that 150 issues and 50 pull requests were open. My first thought was “Ok, we have to process all of these before going further”. But the reality is that it's not possible, and it’s completely normal.
I hope VuePress can be used by everyone, even non-developers. We’re currently trying to find a solution to realize such features.
Involve the open source community in your projects and ask for feedback. Be nice to people that contribute to your projects; even if it’s a bug report, that is still a contribution.
Take time to write good looking documentation and README files. This is the first thing visitors will see and they won’t use your project if it’s not user-friendly or if it's undocumented.
Prepare a promotion strategy to let developers know about your hard work. If you do not spread the word about your project, almost no one will use it. To serve this purpose, I recently worked on a cheat sheet titled “How to promote your open source project” - feel free to take a look!