--- title: Blog comments: false suppress_header: true description: "Visit the GitLab blog to learn about releases, applications, contributions, news, events, and more." extra_css: - blog-landing.css extra_js: - blog-home.js --- // Create list of featured articles usinng both blogs - featured_blog_articles = blog('blog').articles.keep_if{ |a| a.data.featured}[0...2] - featured_release_articles = blog('releases').articles.keep_if{ |a| a.data.featured}[0...2] - featured_articles = [ featured_blog_articles[0..1], featured_release_articles[0..1] ].flatten.compact.sort_by(&:date).reverse // Create list of non-featured articles using both blogs - non_featured_blog_articles = blog('blog').articles.delete_if{ |a| featured_articles.include?(a) || a.data.categories.include?("unfiltered")} - releases = blog('releases').articles - non_featured_articles = [ releases[0..12], non_featured_blog_articles[0..12] ].flatten.compact.sort_by(&:date).reverse // Create list of articles by category - releases = blog('releases').articles - releases_articles = [ releases[0..12] ].flatten.compact.sort_by(&:date).reverse - engineering_blog_articles = blog('blog').articles.keep_if{ |a| a.data.categories.include?("engineering")} - engineering_articles = [ engineering_blog_articles[0..12] ].flatten.compact.sort_by(&:date).reverse - opensource_blog_articles = blog('blog').articles.keep_if{ |a| a.data.categories.include?("open source")} - opensource_articles = [ opensource_blog_articles[0..12] ].flatten.compact.sort_by(&:date).reverse - culture_blog_articles = blog('blog').articles.keep_if{ |a| a.data.categories.include?("culture")} - culture_articles = [ culture_blog_articles[0..12] ].flatten.compact.sort_by(&:date).reverse - insights_blog_articles = blog('blog').articles.keep_if{ |a| a.data.categories.include?("insights")} - insights_articles = [ insights_blog_articles[0..12] ].flatten.compact.sort_by(&:date).reverse - company_blog_articles = blog('blog').articles.keep_if{ |a| a.data.categories.include?("company")} - company_articles = [ company_blog_articles[0..12] ].flatten.compact.sort_by(&:date).reverse - security_blog_articles = blog('blog').articles.keep_if{ |a| a.data.categories.include?("security")} - security_articles = [ security_blog_articles[0..12] ].flatten.compact.sort_by(&:date).reverse - unfiltered_blog_articles = blog('blog').articles.keep_if{ |a| a.data.categories.include?("unfiltered")} - unfiltered_articles = [ unfiltered_blog_articles[0..12] ].flatten.compact.sort_by(&:date).reverse .iframe-container#iframe-container %iframe#iframe-video{src: "", frameborder: "0", width: "560", height: "315", allowfullscreen: ""} .wrapper.blog-landing .blog-landing-sidebar .blog-logo-background %h1 Blog .blog-sidebar-module-wrap .blog-sidebar-module.blog-sidebar-module-subscribe %h3 Subscribe = partial "includes/newsletter-signup-short.html" .blog-sidebar-module.blog-sidebar-module-categories %h3 Categories = partial "includes/blog/category-nav" .blog-sidebar-module.blog-sidebar-module-social %h3 Follow Us = partial "includes/social-icon-links.html" .blog-landing-content = partial "includes/blog/hero-post", locals: {articles: featured_articles[0...1]} .blog-heading-bar.blog-heading-bar-a.blog-heading-bar-split %h3 Recent Posts .archive-link %a{:href => "/blog/archives.html"} See more posts %i.fas.fa-arrow-right .flex-grid.blog-recent-post-grid = partial "includes/blog/list-without-unfiltered-v2", locals: {articles: non_featured_articles[0...3]} .flex-grid .flex-col-1-2-no-gutter .blog-heading-bar.blog-heading-bar-b %h3 GitLab.TV .flex-col-1-2-no-gutter.hide-on-mobile .blog-heading-bar.blog-heading-bar-c %h3 Featured Videos .flex-grid.blog-video-grid .flex-col-1-2-no-gutter .blog-card .blog-card-image-wrap.video-button#video-button .blog-card-image.blog-card-image-tall = image_tag "/images/blog-landing/feat-video-infomercial.png", alt: "Video Image" .blog-card-content %h3.blog-card-title GitLab Infomercial .blog-card-meta .blog-card-date Feb 12, 2020 .blog-card-excerpt %p Get in touch with Sales: %a{:href => "https://about.gitlab.com/sales/"} about.gitlab.com/sales/ .flex-col-1-2-no-gutter .blog-heading-bar.blog-heading-bar-c.hide-on-desktop %h3 Featured Videos .video-card .video-card-image.video-button#video-button-feat-1 = image_tag "/images/blog-landing/video-thumb.png", alt: "Video Thumb" .video-card-content .video-card-title %h5 Let's get ready to Contribute! .video-card-date Nov 25, 2019 .video-card .video-card-image.video-button#video-button-feat-2 = image_tag "/images/blog-landing/video-thumb-london-recap.png", alt: "Video Thumb" .video-card-content .video-card-title %h5 GitLab Commit London Recap .video-card-date Nov 2, 2019 .video-card .video-card-image.video-button#video-button-feat-3 = image_tag "/images/blog-landing/video-thumb-london-recap-alt.png", alt: "Video Thumb" .video-card-content .video-card-title %h5 Commit London 2019: Opening Keynote .video-card-date Oct 10, 2019 .video-card .video-card-image.video-button#video-button-feat-4 = image_tag "/images/blog-landing/video-thumb-living-like-this.png", alt: "Video Thumb" .video-card-content .video-card-title %h5 You’re living like this? .video-card-date Sep 15, 209 .blog-heading-bar %h3 Browse by Category .flex-grid.blog-category-section .flex-col-1-4 .category-card .category-card-title %h3 Releases .category-card-image = image_tag "/images/blog-landing/category-card.png", alt: "Releases Category Image" %ul.category-card-post-list = partial "includes/blog/simple-blog-category-list", locals: {articles: releases_articles[0...3]} .category-card-link %a{:href => "/releases/categories/releases/"} View More %i.fas.fa-arrow-right .flex-col-1-4 .category-card .category-card-title %h3 Engineering .category-card-image = image_tag "/images/blog-landing/category-card-engineering.png", alt: "Engineering Category Image" %ul.category-card-post-list = partial "includes/blog/simple-blog-category-list", locals: {articles: engineering_articles[0...3]} .category-card-link %a{:href => "/blog/categories/engineering/"} View More %i.fas.fa-arrow-right .flex-col-1-4 .category-card .category-card-title %h3 Open Source .category-card-image = image_tag "/images/blog-landing/category-card-open-source.png", alt: "Open Source Category Image" %ul.category-card-post-list = partial "includes/blog/simple-blog-category-list", locals: {articles: opensource_articles[0...3]} .category-card-link %a{:href => "/blog/categories/open-source/"} View More %i.fas.fa-arrow-right .flex-col-1-4 .category-card .category-card-title %h3 Culture .category-card-image = image_tag "/images/blog-landing/category-card-culture.png", alt: "Culture Category Image" %ul.category-card-post-list = partial "includes/blog/simple-blog-category-list", locals: {articles: culture_articles[0...3]} .category-card-link %a{:href => "/blog/categories/culture/"} View More %i.fas.fa-arrow-right .flex-col-1-4 .category-card .category-card-title %h3 Insights .category-card-image = image_tag "/images/blog-landing/category-card-insights.png", alt: "Insights Category Image" %ul.category-card-post-list = partial "includes/blog/simple-blog-category-list", locals: {articles: insights_articles[0...3]} .category-card-link %a{:href => "/blog/categories/insights/"} View More %i.fas.fa-arrow-right .flex-col-1-4 .category-card .category-card-title %h3 Company .category-card-image = image_tag "/images/blog-landing/category-card-company.png", alt: "Company Category Image" %ul.category-card-post-list = partial "includes/blog/simple-blog-category-list", locals: {articles: company_articles[0...3]} .category-card-link %a{:href => "/blog/categories/company/"} View More %i.fas.fa-arrow-right .flex-col-1-4 .category-card .category-card-title %h3 Security .category-card-image = image_tag "/images/blog-landing/category-card-security.png", alt: "Security Category Image" %ul.category-card-post-list = partial "includes/blog/simple-blog-category-list", locals: {articles: security_articles[0...3]} .category-card-link %a{:href => "/blog/categories/security/"} View More %i.fas.fa-arrow-right .flex-col-1-4 .category-card .category-card-title %h3 Unfiltered .category-card-image = image_tag "/images/blog-landing/category-card-unfiltered.png", alt: "Unfiltered Category Image" %ul.category-card-post-list = partial "includes/blog/simple-blog-category-list", locals: {articles: unfiltered_articles[0...3]} .category-card-link %a{:href => "/blog/categories/unfiltered/"} View More %i.fas.fa-arrow-right