Skip to content

Create separate Middleman instance for blog

Why is this change being made?

This MR creates a new middleman build that compiles just the GitLab Blog. It also the first iteration towards creating a monorepo structure for www-gitlab-com where other parts of the website will also have their own middleman build process.

To do this, I have added a new root directory called "sites". This is where the middleman build processes specific to sub projects will live. As of now, the only project within the "sites" directory is "blog". Additional directories will be added for the handbook, jobs, marketing, ect, as the monorepo structure is built out.

Within the /sites/blog directory, there is one true file - config.rb. This file houses all the configuration settings for our midddleman blog build. Everything else in this directory is just a symlink to directories or files already existing in www-gitlab-com.

Here's what this new sites/blog directory structure looks like and what the symlinks are:

www-gitlab-com (mono-repository)
  /sites  (sub-projects)
    /blog 
      data -> ln -s ../../source/data data
      helpers -> ln -s ../../source/helpers helpers
      lib -> ln -s ../../source/lib lib
      config.rb 
      source
        atom.xml -> ln -s ../../../source/atom.xml atom.xml
        blog -> ln -s ../../../source/blog blog
        events 
           commit -> ln -s ../../../../source/commit commit
        category.html.haml -> ln -s ../../../source/category.html.haml category.html.haml
        images -> ln -s ../../../source/images images
        includes -> ln -s ../../../source/includes includes
        index.html.haml -> ln -s ../../../source/index.html.haml index.html.haml
        javascripts  -> ln -s ../../../source/javascripts javascripts
        layouts -> ln -s ../../../source/layouts layouts
        releases 
          /posts -> ln -s ../../../../source/releases/posts posts
        stylesheets -> ln -s ../../../source/stylesheets stylesheets

It's worth noting that blog authors will still edit and add new content to the /source/blog/posts directory.

Conformity

Closes #6354 (closed)

Edited by Lauren Barker

Merge request reports