Demo Site

Search

Search articles, pages, topics, and people.

Analog User Guide - Integrations

ByHaozhe ZhuPublished on

Analog Starter includes three user-facing integration points: optional comments through Giscus, optional analytics through Umami, and a built-in RSS feed.

IntegrationStatusExternal service required
Giscus commentsOptionalGitHub Discussions
Umami analyticsOptionalUmami Cloud or a self-hosted instance
RSS feedBuilt inNo

Giscus comments

Giscus stores comments in GitHub Discussions.

Use the configuration form on the Giscus website to select a repository, discussion category, page mapping, language, and other preferences. The page also checks the required repository settings and generates the IDs needed by the site.

Copy the generated values into the comment section of site.config.ts. A minimal configuration is shown in Site Configuration.

Comments are only rendered when Giscus is configured globally and the current content enables them. Posts enable comments by default and can opt out with:

YAML
comment: false

Pages and author profiles disable comments by default and can opt in with:

YAML
comment: true

Visitors use a GitHub account to comment. Discussions can be reviewed and moderated from the repository selected during Giscus setup.

RSS feed

The site exposes its RSS feed at:

Text
/rss.xml

The feed is generated from the site's posts and advertised in the page metadata, so no external feed service is required.

To make it easier to find, add an RSS link to the footer as described in Site Configuration.

The feed URL can also be submitted to a feed directory or used by a separate email-subscription service.

Umami analytics

Umami provides lightweight, privacy-focused web analytics. Analog loads the Umami tracker directly through Next.js, so no additional analytics package is required.

Create a website in Umami and copy its Website ID into the analytics section of site.config.ts:

TypeScript
analytics: {
  umami: {
    websiteId: "00000000-0000-0000-0000-000000000000",
  },
},

Omitting analytics.umami disables analytics completely and prevents the tracker script from being loaded.

By default, Analog:

  • loads the tracker from https://cloud.umami.is/script.js;
  • restricts tracking to the hostname defined by siteUrl;
  • respects the visitor's Do Not Track preference;
  • excludes URL hash fragments;
  • lets Umami follow client-side route changes automatically.

The hostname restriction prevents local development and unrelated preview domains from contributing analytics events. Additional domains can be configured when preview deployments should also be tracked.

A self-hosted Umami instance can provide its own script and API origin:

TypeScript
analytics: {
  umami: {
    websiteId: "00000000-0000-0000-0000-000000000000",
    src: "https://analytics.example.com/script.js",
    hostUrl: "https://analytics.example.com",
    domains: ["example.com", "www.example.com"],
  },
},

The complete list of options is documented in Site Configuration.