<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/foojay-documentation-as-code-with-asciidoctor-gitlab-ci-and-gitlab-pages-2fslmmcqk" -->

---
title: foojay – Documentation as Code with AsciiDoctor, GitLab...
description: Documentation as Code streamlines the documentation process by treating docs like code. Using GitLab CI, AsciiDoctor, and GitLab Pages, you can write...
canonical: https://daily.dev/posts/foojay-documentation-as-code-with-asciidoctor-gitlab-ci-and-gitlab-pages-2fslmmcqk
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: foojay – Documentation as Code with AsciiDoctor, GitLab CI, and GitLab Pages | daily.dev
og:description: Documentation as Code streamlines the documentation process by treating docs like code. Using GitLab CI, AsciiDoctor, and GitLab Pages, you can write...
og:url: https://daily.dev/posts/foojay-documentation-as-code-with-asciidoctor-gitlab-ci-and-gitlab-pages-2fslmmcqk
og:image: https://api.daily.dev/og/posts/2fslMMCqK.png
og:image:alt: foojay – Documentation as Code with AsciiDoctor, GitLab CI, and GitLab Pages
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# foojay – Documentation as Code with AsciiDoctor, GitLab CI, and GitLab Pages

**[Foojay.io](https://daily.dev/sources/foojayio)** · 4 min read · 3 upvotes · 0 comments

## Summary

Documentation as Code streamlines the documentation process by treating docs like code. Using GitLab CI, AsciiDoctor, and GitLab Pages, you can write documentation in AsciiDoc format alongside your code, automatically generate HTML pages through CI pipelines, and publish them as static websites. The setup involves configuring a `.gitlab-ci.yml` file with the AsciiDoctor Docker image, defining build attributes for formatting and features, and setting rules to trigger builds only when documentation or pipeline configuration changes on the main branch.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://foojay.io/today/documentation-as-code-with-asciidoctor-gitlab-ci-and-gitlab-pages/>

## Similar posts on daily.dev

- [AsciiDoc over Markdown](https://daily.dev/posts/asciidoc-over-markdown-ldlaviexs) · A Java geek · 14 upvotes · 1 comments
- [How we built and automated our new Japanese GitLab Docs site](https://daily.dev/posts/how-we-built-and-automated-our-new-japanese-gitlab-docs-site-zmpjx8j17) · GitLab · 1 upvotes · 0 comments

---

Tags: [#devops](https://daily.dev/tags/devops), [#cicd](https://daily.dev/tags/cicd), [#gitlab](https://daily.dev/tags/gitlab)

[View this post on daily.dev](https://daily.dev/posts/foojay-documentation-as-code-with-asciidoctor-gitlab-ci-and-gitlab-pages-2fslmmcqk)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"foojay – Documentation as Code with AsciiDoctor, GitLab CI, and GitLab Pages","url":"https://daily.dev/posts/foojay-documentation-as-code-with-asciidoctor-gitlab-ci-and-gitlab-pages-2fslmmcqk","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/foojay-documentation-as-code-with-asciidoctor-gitlab-ci-and-gitlab-pages-2fslmmcqk"},"datePublished":"2026-01-19T06:09:39.280Z","dateModified":"2026-01-19T06:09:59.498Z","description":"Documentation as Code streamlines the documentation process by treating docs like code. Using GitLab CI, AsciiDoctor, and GitLab Pages, you can write...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/e202cbce1dceee4aea163ae5e0562d87?_a=AQAEulh","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/e202cbce1dceee4aea163ae5e0562d87?_a=AQAEulh","isAccessibleForFree":true,"articleSection":"Foojay.io","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Foojay.io","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/1820f6a6ae944760aa322b67ed85f848","url":"https://daily.dev/sources/foojayio"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/foojay-documentation-as-code-with-asciidoctor-gitlab-ci-and-gitlab-pages-2fslmmcqk","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":3},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"devops,cicd,gitlab","timeRequired":"PT4M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Foojay.io","item":"https://daily.dev/sources/foojayio"},{"@type":"ListItem","position":3,"name":"foojay – Documentation as Code with AsciiDoctor, GitLab CI, and GitLab Pages"}]}
```

