Learn how to deploy your ListLog blog to your custom domain using GitLab Pages. Complete step-by-step guide from setup to custom domain configuration.
First, create a new GitLab project to host your ListLog blog:
git clone https://gitlab.com/grouplist/listlog.git your-blog-name
cd your-blog-name
git remote set-url origin https://gitlab.com/yourusername/your-blog-name.git
git push -u origin main
Edit the listlog.config.json
file to customize your blog settings:
{
"site": {
"name": "My Awesome Blog",
"description": "Thoughts on technology and life",
"url": "https://yourdomain.com",
"author": "Your Name",
"language": "en"
},
"build": {
"postsPerPage": 10,
"generateSitemap": true,
"generate404": true
},
"social": {
"twitter": "https://twitter.com/yourusername",
"gitlab": "https://gitlab.com/yourusername"
}
}
Key settings to update:
site.url
— Your custom domain (e.g., https://yourdomain.com)site.name
— Your blog's titlesite.author
— Your namesocial
— Your social media profilesCreate your first blog post in the posts/
directory:
---
title: Welcome to My Blog
date: 2025-05-29
author: Your Name
tags: welcome, first-post, blogging
excerpt: Welcome to my new blog powered by ListLog and hosted on GitLab Pages!
---
# Welcome to My Blog!
I'm excited to launch my new blog using **ListLog**, a simple yet powerful static site generator.
## Why I Chose ListLog
- **Simple**: Write in markdown, publish automatically
- **Fast**: Static files load instantly
- **Free**: GitLab Pages hosting costs nothing
- **Professional**: Clean, responsive design
## What's Next?
I'll be sharing thoughts on technology, web development, and my projects. Stay tuned!
---
*This blog is powered by ListLog and hosted on GitLab Pages.*
Save this as posts/2025-05-29-welcome.md
(using today's date).
GitLab Pages will automatically build and deploy your blog:
git add .
git commit -m "Initial blog setup"
git push origin main
https://yourusername.gitlab.io/your-blog-name
To use your own domain name instead of the default GitLab URL:
blog.yourdomain.com
)In your domain registrar's DNS settings, add these records:
Type | Name | Value |
---|---|---|
CNAME | blog | yourusername.gitlab.io |
For root domain (yourdomain.com), use A record pointing to GitLab's IP addresses.
Publishing new posts is simple with GitLab's automatic deployment:
posts/
directorynpm install
npm run build
npm run dev
git add .
git commit -m "Add new post: Post Title"
git push origin main
posts/
directoryCustomize your blog's appearance by editing:
assets/style.css
— Main stylesheettemplates/index.html
— Homepage layouttemplates/post.html
— Individual post layoutAdd Google Analytics to track your blog traffic:
"analytics": {
"googleAnalytics": "G-XXXXXXXXXX"
}
ListLog automatically generates:
/sitemap.xml
/feed.xml
package.json
and build.js
are presentlistlog.config.json
has valid JSON syntax.md
file in the posts/
directorydig yourdomain.com
to verify DNS recordsyourusername.gitlab.io
(not the full project URL)Congratulations! Your ListLog blog is now live on your custom domain. Here are some next steps: