Skip to content

Improve shortcomings of current setup #2

@laurensgroeneveld

Description

@laurensgroeneveld

The current setup is fairly simple:

  • Checkout bcc-documentation-base (this repository)
  • Checkout local repository that has docs ("docs repository")
  • Copy across docs to the vuepress folder in bcc-documentation-base
  • Build a VuePress site from that folder

This works quite well for basic documentation that is attached to a repo. To add a VuePress site is only three steps. However there are several shortcomings with this approach:

  • It is impossible to run VuePress locally from the docs repository, so it is not possible to preview the website before pushing. Note: this might be alleviated with branch deploys (mentioned here)
  • Including Vue components from the docs repository is only possible if they don't have external dependencies, because we don't have anything to do with the package.json in that repository and instead use that one in the vuepress folder.

I'm curious how we can improve on this setup. I think we should keep in mind the following goals for this setup:

  • Documentation lives as close to the code as possible (i.e. in the same repository, not some centralized docs repository)
  • It's as frictionless as possible to add a documentation site to a project. If you have an existing docs folder, it should be plug-and-play (i.e. add a GitHub action)

I would rather not include VuePress as a dependency in all the other repositories, as it rather defeats the "frictionless" goal (especially when your code isn't Javascript and doesn't have a package.json already).

One final thing to consider is that some of this sprang forth from a discussion on the developer.bcc.no repository: https://github.com/bcc-code/bcc-code.github.io/issues/57 - this repository is a special case as it's intended as a website with generic documentation, without any attached code. Perhaps this repository should not use the same setup as the other repositories. Still, other repositories would benefit from us solving the problems with local running and including Vue components.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions