Amigo is a minimalist Hugo blog theme that recreates the WeChat Moments interface, turning a Hugo site into a personal feed of moments-style posts with images, music, video, and voice messages.
What is Amigo?
Amigo is an open-source (MIT-licensed) Hugo theme created by developer Vaica (GitHub: zqlit), designed to make a Hugo static site look and behave like WeChat Moments. It takes standard Hugo content — Markdown posts with front matter such as title, date, author, location, and tags — and renders them as a Moments-style feed with nine-grid image layouts, human-friendly timestamps, and card-based long articles. The theme runs on Hugo 0.128.2+ and outputs a fully static site; comments are handled by an external service chosen in configuration: Artalk (recommended at version 2.8.7+), Twikoo EO, or Giscus.
Key Features
- Moments-style UI — Faithfully resembles WeChat's social feed: avatars, nicknames, time/location lines, tag rows, and a nine-image grid that automatically adapts to 1, 2, 3, 4, 6, or 9 images per post.
- Media shortcodes — Ships with seven Hugo shortcodes: music-card, music, motion-photo, livephoto, livephoto-card, video, and voice, covering audio cards, live photos, custom video playback, and WeChat-style voice bubbles.
- Bilibili and music integration — The video shortcode accepts local files, external URLs, or Bilibili links (auto-detecting BV IDs and page numbers); the music-card shortcode works with Meting API URLs to play NetEase Cloud Music tracks.
- Comment system options — Comment mode is set via a commentMode parameter; full Artalk integration adds likes, danmaku, and IP geolocation, while Twikoo and Giscus are supported as lighter alternatives.
- PJAX navigation and dark mode — Enable PJAX for no-reload page transitions (music playback continues across pages), plus a dark mode toggle that follows the system preference.
- Local search and lightbox — enableSearch provides client-side local search without external services; enableLightbox turns on ViewImage.js image zooming.
- Typography and responsiveness — Localized Chinese font options (ZQL, PingFangQiaoMuTi, AlimamaFangYuanTi) and responsive layouts for mobile, tablet, and desktop.
- Configured pages — Includes a homepage feed, about page, and a friends page driven by data/friends.yml; long articles over 500 characters or flagged with isLongArticle render as blog cards with cover image, title, and excerpt.
Who is Amigo for?
- Personal bloggers who want a private, familiar feed aesthetic for sharing life updates with family and friends.
- Chinese-speaking Hugo users looking for a theme that mimics WeChat Moments and optimizes Chinese font rendering out of the box.
- Self-hosted creators who already run or can run Artalk and want a comment system with likes, danmaku, and IP location.
- Media-heavy diary writers who post photos, music, or videos and need automatic grid layouts and dedicated media shortcodes.
What can you do with Amigo?
- Post photo updates: write a Markdown post with 1 to 9 images and the theme picks the grid layout (centered, side-by-side, 3-column, 2×2, 3×2, or 3×3) automatically.
- Share music: embed a NetEase Cloud Music song by pasting a Meting API URL into the music-card shortcode, with cover, song name, artist, and accent color parameters.
- Embed Bilibili videos: drop a Bilibili video URL into the video shortcode and the theme auto-detects the BV number, including multi-page videos via the page parameter.
- Build a friends network: maintain data/friends.yml and set layout "friends" in content/friends.md to render a friend-link page.
How does Amigo work?
Installation follows the standard Hugo theme workflow: clone the repository into themes/Amigo, copy the included hugo.toml to the site root, and set parameters like username, avatar, description, cover, and commentMode. Then write posts in content/posts using front matter fields (title, date, author, location, tags), and run Hugo to generate the static site. Long-article detection happens automatically when a post exceeds 500 characters, or explicitly by setting isLongArticle to true.
FAQ
Is Amigo free?
Yes. Amigo is released under the MIT License, so it is free to use, modify, and redistribute, including for commercial projects.
The theme supports four commentMode values: "artalk", "twikoo", "giscus", and "none". Artalk is recommended (2.8.7+) for full features such as likes, danmaku, and IP geolocation; Twikoo EO can be deployed without a server on EdgeOne; Giscus is based on GitHub Discussions.
Does Amigo have dark mode?
Yes, the theme includes a dark mode toggle that can be enabled with enableDarkMode, and it can follow the system preference.
Does Amigo support local search?
Yes. Setting enableSearch to true activates client-side local search, so no external search service or server is required.
The video shortcode accepts local paths, external video URLs, and Bilibili links. It supports optional poster image, aspect ratio, autoplay, loop, mute, and alt attributes.
