Choosing Hugo over Wikimedia


I am cross-posting this message from the r-studio community and am posting here because the question is more about Hugo than Rmarkdown.

My office is doing something interesting with bookdown, and I want to consult the community here to make sure everything is doable.

We are currently working on a wikipedia-like document in that we want to ultimately create a website that people can view and edit. A collaborative living document.

We started off writing in bookdown because it has great defaults for publishing html pages and it is easy to get someone up and running. Thanks to everyone who works at bookdown for making a really revolutionary system.

However ultimately, we don’t want someone to have to get set up on our shared dropbox folder (we don’t use git… yet) to make edits. We want a wikipedia-style interface where you can click on something and then edit that page.

On the other hand, i am in no way a web developer, and dont want to try and maintain a non-static website.

Bookdown has great github integration. At least for gitbook output, you can link directly to the git repo you are hosted with and people can make edits from there. Then I saw this web IDE from gitlab and I think this is exactly what I want. Here is my proposed workflow, I would appreciate comment on if people think it is feasible.

  1. Upload everything we have from dropbox to gitlab
  2. Use Hugo to create a static website that borrows a lot of design elements from gitlab
    Set up netlify with our gitlab repo and enable continuous integration. This way, whenever someone merges a PR, the website updates automatically.
  3. On every page of the website, ensure that there is a link to the appropriate Rmarkdown document on gitlab.
  4. Ensure that when they click on this link, Gitlab’s web IDE opens and the user can use this interface, never having to download Rstudio (however great Rstudio is). Hopefully this interface is responsive and intuitive, but I can’t vouch for it yet.
  5. Enable me, my boss, and a few others to have automatic pushes, and act as maintainers for outsiders who want to make edits.

I’m pretty good with coding, and open to learning new things. I am under the impression this workflow has the right balance of learning new things and a well-supported, simple system.

My ultimate question is whether I should go with the mediawiki ecosystem instead. They provide collaboration out of the box, especially if you use a hosting service. However I explored the options and it seems there are a few issues.

Primarily, there No local editing. Unless we have a private wiki, we would have to make it open to the public. Even if it is private, the idea of not having a local repository of plain-text markup files scares me. It means that it is difficult to take our content to a new format. Overall, the mediawiki ecosystem seems designed for people with PHP knowledge and who are okay managing a server. I highly doubt that we will ever be remotely large enough for something this heavy duty.

On the other hand, built-in collaborative editing seems fantastic, as does tight integration for cross referencing.

I would be curious to see what the people at Hugo think about this dilemma. All thoughts are welcome.

1 - 3, that all works as expected, I think you are going for something similar to the Hugo docs, such as on Hugo Features:

I am not sure about the markdown parsers, but there has been a lot of threads about using them, so search around.

4 The link will go to the document as rendered by GitLab, if that is what you mean. Maybe there is something called a “web IDE”, but presuming you mean the GitLab site, yeah, and if they are already logged in they should be able to edit it or whatever.

5 Yep, but requires understanding GitLab or whatever git workflow tool you use. Hugo doesn’t have an opinion about that.

Do both, choose like 10 pages, and have a handful of folks try out the process. For MediaWiki, I’d do a trial host somewhere, just to see how configuration works, and what you’ll need to add.

Mediawiki is well proven software. There are a couple wikis that use plain text files as their backend, which may have benefits for people who are concerned about future-proofing their content.

But I’m pretty sure all these kind of server-side wikis have security vulnerabilities that have to be tended to regularly.

With hugo, you lose exactly what you mentioned:

built-in collaborative editing seems fantastic, as does tight integration for cross referencing

… so it really comes down to you deciding what to compromise.

Thanks for the feedback. I submitted a request to MyWiki, a company that hosts wikis, for a trial run. I will try to get both set up and give it a go.

If I am blown away with gitlab’s web IDE, and it works the way I expext it to. I will probably go with Hugo, because I really will like the value of .git. In particular, I think that a git-based workflow will allow us to be curate the content more, sending revisions back to the authors etc. Plus we get to keep bookdown, which is a development environment I really appreciate.

This will be a fun project to get set up, and I will report back with the results.

Yes, i don’t think i realized how large mediawiki was until today. However we will definitely have to go with a backed pay-to-host service, and I am a bit worried about the integration of that with other tools, like bibtex extensions and the likes. I will research these vendors more.

Just one thing to add. As someone who has done this for personal projects for many years, though leaving that behind now, I have to say that you really don’t need a lot of effort to maintain a PHP server. Especially as there are so many hosting options out there that take care of the basics for you.

Not trying to put you off Hugo at all, especially since I am moving over to it! Just putting some perspective in place.