Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 39 additions & 3 deletions .vitepress/config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,21 @@ const __dirname = path.dirname(fileURLToPath(new URL(import.meta.url)));
const DOCS_VERSION = process.env.DOCS_VERSION;
const isLatest = DOCS_VERSION === 'latest';
const isPatch = DOCS_VERSION === 'patch';
const base = isLatest || isPatch ? `/${DOCS_VERSION}` : '/';
const isPreview = isLatest || isPatch;
const base = isPreview ? `/${DOCS_VERSION}` : '/';

const STABLE_HOSTNAME = 'https://docs.rotki.com';

// Map a source file's relativePath to its canonical URL on the stable site,
// matching VitePress' clean-URL output (`index.md` -> directory, everything
// else -> extensionless). The preview builds share the same sources as stable,
// so the canonical always points back to the stable equivalent.
function stableCanonical(relativePath: string): string {
const pathPart = relativePath
.replace(/(?:^|\/)index\.md$/, match => match.slice(0, -'index.md'.length))
.replace(/\.md$/, '');
return `${STABLE_HOSTNAME}/${pathPart}`;
}

// Version switcher entries. The current build is shown as the dropdown label;
// the other two are listed as cross-links so every build — including the
Expand All @@ -116,14 +130,36 @@ export default defineConfig({
title: 'rotki Documentation',
base,
description: 'All you need to start using rotki, or contributing to it.',
// Serve extensionless URLs (/foo, not /foo.html). Keeps internal links, the
// sitemap, and the canonical tags all on a single clean form so crawlers stop
// treating /foo and /foo.html as two separate, duplicate pages.
cleanUrls: true,
// Only emit a sitemap for the canonical stable build (base '/'). The versioned
// 'latest'/'patch' builds are previews and must not publish a competing sitemap.
sitemap: base === '/'
? { hostname: 'https://docs.rotki.com' }
? { hostname: STABLE_HOSTNAME }
: undefined,
// Bing flags duplicate titles/content from two sources: GitHub Pages serves
// every page at both `/foo` and `/foo.html`, and the 'latest'/'patch'
// previews re-render the same pages under their own URL trees. Emit a
// self-referencing canonical on every build (pointing at the one clean stable
// URL, matching the sitemap) so the `/foo` vs `/foo.html` pair collapses; on
// previews the same canonical points back to the stable twin. Previews
// additionally carry noindex so they drop out of the index entirely.
transformPageData(pageData) {
pageData.frontmatter.head ??= [];
pageData.frontmatter.head.push(
['link', { rel: 'canonical', href: stableCanonical(pageData.relativePath) }],
);
if (isPreview) {
pageData.frontmatter.head.push(
['meta', { name: 'robots', content: 'noindex, follow' }],
);
}
},
themeConfig: {
// https://vitepress.dev/reference/default-theme-config
logo: '/logo.png',
logo: { src: '/logo.png', alt: 'rotki' },
nav: [
{ text: 'Documentation', link: '/' },
{ text: 'Download', link: 'https://rotki.com/download' },
Expand Down
2 changes: 1 addition & 1 deletion contribution-guides/code-profiling.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Profiling rotki Python code using flamegraphs and viztracer to identify performance bottlenecks.
description: Profile rotki's Python code using flamegraphs and viztracer to find performance bottlenecks, with step-by-step instructions for running each profiler.
---

# Code Profiling
Expand Down
2 changes: 1 addition & 1 deletion contribution-guides/docker-publishing.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Manual steps for building and publishing multi-architecture rotki Docker images to Docker Hub.
description: Manually build and publish rotki's multi-architecture Docker images to Docker Hub, covering the full release steps for pushing the images to hub.docker.com.
---

# Docker Publishing (Manual)
Expand Down
2 changes: 1 addition & 1 deletion contribution-guides/feature-requests.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: How to submit feature requests for rotki using the GitHub issue template.
description: How to submit a feature request for rotki using the GitHub issue template, so the team can review, discuss, and prioritize your suggested improvements.
---

# Feature Requests
Expand Down
2 changes: 1 addition & 1 deletion contribution-guides/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: How to contribute to rotki including bug reporting, debug mode, feature requests, and development setup.
description: "How to contribute to rotki: reporting bugs, running it in debug mode, submitting feature requests, and setting up your environment for development."
---

# rotki Contribution Guide
Expand Down
2 changes: 1 addition & 1 deletion contribution-guides/manual-testing.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Manual testing checklist for rotki release binaries covering startup, trades, imports, and exchanges.
description: Manual testing checklist for rotki release binaries, covering startup, external trades, data imports, exchanges, settings, balances, and tax reports.
---

# Manual Testing
Expand Down
2 changes: 1 addition & 1 deletion contribution-guides/python-testing.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Running the Python test suite, linting with ruff/mypy/pylint, and mocking network calls in tests.
description: Run rotki's Python test suite, lint with ruff, mypy, and pylint, mock network calls, and record HTTP interactions with VCR for fast, deterministic tests.
---

# Python Code Testing
Expand Down
2 changes: 1 addition & 1 deletion contribution-guides/releasing.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: How rotki releases are cut, both minor (1.x.0) from develop and patch (1.x.y) from bugfixes.
description: "How rotki releases are cut from its long-lived branches: minor 1.x.0 releases from develop and patch 1.x.y releases from bugfixes, step by step."
---

# Releasing rotki
Expand Down
2 changes: 1 addition & 1 deletion contribution-guides/rotki-database.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Architecture of rotki's SQLite databases, schema upgrades, data migrations, and cache management.
description: Architecture of rotki's two SQLite databases (global.db and the user DB), how schema upgrades and data migrations run, and how cached data is managed.
---

# rotki Database
Expand Down
2 changes: 1 addition & 1 deletion contribution-guides/vue-typescript.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Running Vue/TypeScript unit tests with vitest and end-to-end tests with Playwright for the rotki frontend.
description: "Testing and maintaining the rotki frontend: unit tests with Vitest, end-to-end tests with Playwright, linting, and Vue/TypeScript code organization."
---

# Vue/TypeScript
Expand Down
2 changes: 1 addition & 1 deletion contribution-guides/working-on-issues.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Workflow for picking up issues, opening PRs, and coordinating between backend and frontend teams.
description: The rotki contributor workflow for picking up issues, opening pull requests, writing changelog entries, and finalizing work across the backend and frontend.
---

# Working on issues
Expand Down
2 changes: 1 addition & 1 deletion contribution-guides/working-with-frontend.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Frontend development setup including editor integration, environment variables, and development proxy config.
description: "Set up rotki frontend development: editor integration, environment variables, the development proxy, running multiple instances, linting, and type checks."
---

# Working with the Frontend
Expand Down
2 changes: 1 addition & 1 deletion faq.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Frequently asked questions about rotki, premium subscriptions, supported exchanges, and common issues.
description: Frequently asked questions about rotki covering the application, premium subscriptions, supported exchanges, roadmap, and solutions to common issues.
---

# Frequently Asked Questions
Expand Down
2 changes: 1 addition & 1 deletion index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Documentation for rotki, an open-source crypto portfolio tracker and tax reporting tool.
description: rotki is an open-source, privacy-focused crypto portfolio tracker, analytics, and tax reporting app that runs locally. Start here to learn what it does.
---

# What is rotki?
Expand Down
4 changes: 4 additions & 0 deletions llms.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
---
description: rotki's documentation in LLM-friendly formats (llms.txt and Markdown) to help developers and AI coding agents integrate with rotki faster.
---

# Using LLMs

rotki's documentation is available in LLM-friendly formats to help developers and AI agents integrate with rotki faster.
Expand Down
2 changes: 1 addition & 1 deletion premium/api-keys.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Creating, managing, and securing rotki premium API key and secret credentials for app activation.
description: Create, manage, and secure the rotki premium API key and secret credentials used to activate your subscription in the app, with security best practices.
---

# API Credentials
Expand Down
2 changes: 1 addition & 1 deletion premium/devices.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Managing devices connected to your rotki premium subscription and understanding per-tier device limits.
description: Manage the devices connected to your rotki premium subscription, rename or remove them, and understand the per-tier device limits and registration rules.
---

# Device Management
Expand Down
2 changes: 1 addition & 1 deletion premium/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Overview of rotki premium subscription tiers, features, and how to get started with premium.
description: "Discover rotki premium: paid subscription tiers that unlock extra features, how to get started, and how to manage it while supporting ongoing development."
---

# Premium Overview
Expand Down
2 changes: 1 addition & 1 deletion premium/payment-methods.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Managing saved credit/debit cards and setting default payment methods for rotki premium renewals.
description: Add, view, and remove saved credit and debit cards for rotki premium, set a default payment method, and update card details used for renewals.
---

# Payment Methods
Expand Down
2 changes: 1 addition & 1 deletion premium/payment.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Step-by-step guide to purchasing a rotki premium subscription including plan selection and payment.
description: "Purchase a rotki premium subscription step by step: select a plan, apply a discount or referral code, choose a payment method, and activate it in the app."
---

# Payment Process
Expand Down
2 changes: 1 addition & 1 deletion premium/plans-and-pricing.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Comparing rotki premium subscription tiers, billing cycles, and choosing the right plan.
description: Compare rotki premium subscription tiers and limits, understand billing cycles and custom plans, and choose or upgrade to the plan that fits your needs.
---

# Plans & Pricing
Expand Down
2 changes: 1 addition & 1 deletion premium/referrals.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Creating and using rotki premium referral codes for discounts on first subscriptions.
description: Create and share rotki premium referral codes so both you and the people you refer earn a discount on their first subscription, plus troubleshooting.
---

# Referral Program
Expand Down
2 changes: 1 addition & 1 deletion premium/subscription.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Managing your rotki premium subscription, viewing payment history, canceling, and renewing plans.
description: "Manage your rotki premium subscription: view details and payment history, access API keys, create referral codes, change your plan, cancel, or renew."
---

# Subscription Management
Expand Down
2 changes: 1 addition & 1 deletion requirement-and-installation/download.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Download and install rotki on Linux, macOS, or Windows using the official pre-built binaries.
description: Download and install rotki on Linux, macOS, or Windows from the official pre-built binaries, with first-launch tips and troubleshooting for each platform.
---

# Download & Install
Expand Down
2 changes: 1 addition & 1 deletion requirement-and-installation/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Install rotki from pre-built binaries, run it in Docker, or build from source.
description: "Get started with rotki: install from pre-built binaries, run it in Docker, or build from source, plus the system requirements you need to run it locally."
---

# Installation
Expand Down
2 changes: 1 addition & 1 deletion usage-guides/advanced/backend-config.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Customizing rotki backend arguments via rotki_config.json for log levels, data directories, and more.
description: Customize the rotki Python backend through rotki_config.json, setting log levels, the data directory, and other arguments useful for debugging and tuning.
---

# Set the backend's arguments
Expand Down
2 changes: 1 addition & 1 deletion usage-guides/advanced/data-directory.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Default rotki data directory locations on Linux, macOS, and Windows, plus backup recommendations.
description: Find rotki's default data directory on Linux, macOS, and Windows, learn where development builds store their data, and get recommendations for backing it up.
---

# rotki data directory
Expand Down
2 changes: 1 addition & 1 deletion usage-guides/advanced/database-access.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: How to open and query the encrypted rotki SQLite database using DB Browser for SQLite or sqlcipher CLI.
description: Open and query rotki's encrypted SQLite database manually using DB Browser for SQLite or the sqlcipher CLI tool to inspect or repair your stored data.
---

# Accessing the database manually
Expand Down
2 changes: 1 addition & 1 deletion usage-guides/advanced/mobile.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Accessing rotki from a mobile device using DAppNode VPN or Docker with an authenticated proxy.
description: Access rotki from a mobile device when running it via DAppNode or the Docker image, using a VPN or an authenticated reverse proxy to reach the web interface.
---

# Using rotki from mobile
Expand Down
2 changes: 1 addition & 1 deletion usage-guides/advanced/troubleshooting.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Fixing common rotki issues such as login errors, frontend settings corruption, and data problems.
description: Fix common rotki problems such as invalid input errors on login, corrupted frontend settings, and other data issues, with step-by-step recovery instructions.
---

# Troubleshooting
Expand Down
2 changes: 1 addition & 1 deletion usage-guides/data-management/address-book.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Managing global and private address book entries to replace blockchain addresses with human-readable names.
description: Manage global and private address book entries in rotki to replace blockchain addresses with readable names, and import multiple address books from CSV.
---

# Address Book
Expand Down
2 changes: 1 addition & 1 deletion usage-guides/data-management/assets.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Managing supported assets, adding custom tokens, merging duplicates, and whitelisting spam tokens.
description: "Manage rotki's supported assets: inspect the asset list, add custom tokens, fix missing mappings, merge duplicates, and ignore or whitelist spam tokens."
---

# Assets Management
Expand Down
2 changes: 1 addition & 1 deletion usage-guides/data-management/prices.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Adding manual latest and historical prices, and editing oracle-cached prices for assets.
description: Add manual latest and historical prices that override oracle lookups in rotki, and view or edit the prices already fetched and cached from price oracles.
---

# Managing prices
Expand Down
2 changes: 1 addition & 1 deletion usage-guides/data-management/tags.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Creating and editing tags with custom labels, descriptions, and colors for organizing accounts and balances.
description: Create and edit tags in rotki with custom labels, descriptions, and colors to organize and filter your blockchain accounts and manual balances.
---

# Tag Management
Expand Down
2 changes: 1 addition & 1 deletion usage-guides/history/events.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Browsing, filtering, decoding, and editing historical events from exchanges and blockchains.
description: Browse, filter, decode, and edit historical events from exchanges and blockchains in rotki, redecode transactions, add events by hash, and export them to CSV.
---

# History events
Expand Down
2 changes: 1 addition & 1 deletion usage-guides/history/import-data.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Importing trade and transaction data from CSV files exported by exchanges into rotki.
description: Import trades and transactions into rotki from exchange CSV exports or the generic import format, so your full history is tracked even without API access.
---

# Import CSV
Expand Down
2 changes: 1 addition & 1 deletion usage-guides/history/onchain.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Sending on-chain transactions from rotki via WalletConnect or browser wallet on supported EVM chains.
description: Send on-chain transactions directly from rotki by connecting a browser wallet or WalletConnect on supported EVM chains, with troubleshooting tips.
---

> [!NOTE]
Expand Down
2 changes: 1 addition & 1 deletion usage-guides/history/pnl.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Generating profit/loss reports with FIFO, LIFO, HIFO, or ACB methods and exporting results.
description: Generate profit/loss reports in rotki using FIFO, LIFO, HIFO, or ACB cost-basis methods, review the cost basis breakdown, and export the results to CSV.
---

# Creating a profit/loss report
Expand Down
2 changes: 1 addition & 1 deletion usage-guides/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Reference for rotki account setup, sign-in, premium sync, data restoration, and upgrading between versions.
description: "Set up and manage your rotki account: sign-up and sign-in, premium server sync, restoring backups, moving installations, and upgrading between versions."
---

# Accounts & Sync
Expand Down
2 changes: 1 addition & 1 deletion usage-guides/integrations/calendar.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Using the calendar to track events, set reminders, and receive automatic alerts like ENS expiration.
description: Use the rotki calendar to add and track events, set reminders for actions, receive automatic alerts such as ENS expiry, and sync with Google Calendar.
---

# Calendar
Expand Down
2 changes: 1 addition & 1 deletion usage-guides/integrations/exchange-keys.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Connecting centralized exchanges to rotki via API keys, with per-exchange setup instructions.
description: Connect centralized exchanges to rotki using read-only API keys, with step-by-step setup instructions and exchange-specific notes for each platform.
---

# Exchange API Keys
Expand Down
2 changes: 1 addition & 1 deletion usage-guides/integrations/external-services.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Configuring external service API keys such as Etherscan, CryptoCompare, and other data providers.
description: Add external service API keys in rotki such as Etherscan, Blockscout, CryptoCompare, and others to enable on-chain data, prices, and integrations.
---

# External Services
Expand Down
2 changes: 1 addition & 1 deletion usage-guides/portfolio/accounts.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Adding and managing blockchain accounts (EVM, Bitcoin, Substrate, Solana) and exchange connections.
description: Add and manage blockchain accounts across EVM chains, Bitcoin, Substrate, and Solana in rotki, and connect exchanges to track all your balances in one place.
---

# Tracking Accounts
Expand Down
2 changes: 1 addition & 1 deletion usage-guides/portfolio/balances.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Viewing exchange balances, adding manual balances, tracking NFTs, airdrops, and managing snapshots.
description: View exchange and manual balances in rotki, track NFTs and airdrops, filter holdings by tags, hide small balances, and capture balance snapshots over time.
---

# Balances
Expand Down
2 changes: 1 addition & 1 deletion usage-guides/quick-start.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Step-by-step walkthrough to get started with rotki, from installation to generating your first PnL report.
description: "A step-by-step walkthrough to get started with rotki: install the app, create an account, add accounts, view your portfolio, and generate your first report."
---

# Quick Start Guide
Expand Down
2 changes: 1 addition & 1 deletion usage-guides/settings/account.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Managing account passwords, database backups, data purging, and user settings import/export.
description: "Manage rotki account and security settings: change your password, configure database backups, adjust backend options, and purge stored data when needed."
---

# Account & Database Settings
Expand Down
2 changes: 1 addition & 1 deletion usage-guides/settings/accounting.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Configuring accounting rules, cost basis methods, trade settings, and custom event rules for PnL reports.
description: "Configure rotki's accounting settings: cost basis method, crypto-to-crypto and spending rules, gas costs, tax-free periods, and custom event rules."
---

# Accounting Settings
Expand Down
2 changes: 1 addition & 1 deletion usage-guides/settings/blockchain.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Configuring EVM chain settings, RPC nodes, transaction indexers, price oracles, and DeFi modules.
description: Configure rotki's blockchain and EVM settings, including RPC nodes, transaction indexers, price oracle preferences, and which DeFi modules are enabled.
---

# Blockchain & EVM Settings
Expand Down
2 changes: 1 addition & 1 deletion usage-guides/settings/general.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Configuring general app settings including profit currency, analytics, CSV export, and NFT display options.
description: Configure rotki's general settings, including your profit currency, application preferences, analytics, CSV export options, and NFT display behavior.
---

# General Settings
Expand Down
Loading
Loading