Moving my ‘Freelancing In India: A Handbook’ project to VuePress.

A woman using her laptop in a public space, facing tall glass windows.
Photo by Bonnie Kittle on Unsplash.

I started Freelancing In India: A Handbook a little over two years ago, covering much of my prior experience in the first six months of creating the repo. It was just a simple README.md file viewable on GitHub.

Over time, it gained a small but respectable number of stargazers. Seeing this, I decided it was time to move it to something more structured and more easily viewable.

I also wanted to expand the scope of the project from just working with international clients to SaaS offerings, paid applications on app stores, working with domestic clients, and so on.

I don’t have much first-hand information on these aspects, but I’m counting on the few resources I’ve found online to make for a sufficient starting point and the community to step in!

VuePress

I decided to use VuePress for its promise of simplicity. I got started in about a couple of hours, with very little framework fighting to do. It almost just worked. Had I had prior experience with it, I doubt I would have spent even as much time as I did.

The default theme is great, and even comes with these little balloon-style containers for tips, warnings, danger, and more. Here’s an example of a warning from the site itself:

A warning as seen on the documentation site.

It also includes a very easy to use search bar, a home page template, and the ability to add to navigation. Although not visible in the screenshot below, it also has a last updated timestamp for every page to reflect on the recency of the information. It’s also fully responsive! Being server-side generated, we absolutely don’t lose out on SEO. 😁

A full screenshot of the documentation, with a sidebar navigation and a search bar with the input "import" and its search results.

My only gripe?

I wish there was an option to generate the sidebar links automatically. At the moment, you need to specify it manually in the configuration file, like so:

// .vuepress/config.js
sidebar: [
"/docs/",
"/docs/getting-started",
"/docs/defining-export",
"/docs/getting-paid",
"/docs/gst-returns",
"/docs/income-tax"
],

Of course, the control and flexibility is great. Still, a configuration option to let VuePress parse the directory and build the tree on its own would have been amazing. In scenarios where we wish to include everything, it would be very handy.

However, specifying the sidebar navigation is a matter of five to ten minutes at most. It is far from a deal breaker.

Final take

With all the boilerplate taken care of, VuePress was really enjoyable to set up and I will definitely consider it again for any kind of documentation. It claims to be geared more towards technical docs, but worked just as well for my handbook.

Now it’s time for me to find contributors. πŸ™‚