* chore(ci): upgrade link-checker to v1.3.1 and improve reporting - Update workflow to use link-checker v1.3.1 - Fix heredoc bug that prevented template variable evaluation - Improve broken link reporting with: - Severity indicators (error vs warning) - Table format for better readability - Content file path mapping for easier fixing - Collapsible troubleshooting tips - Add fallback parsing for different JSON output structures - Update config file comments to reference v1.3.1 https://claude.ai/code/session_015JNkhFiwJnoAxJLBP7AiyZ * fix(ci): fix sync-link-checker-binary workflow - Add missing checkout step (gh release requires a git repo) - Use DOCS_TOOLING_TOKEN secret for cross-repo private access - Use GitHub API to fetch release info instead of direct URL - Add binary size validation to catch failed downloads - Handle optional checksums.txt gracefully * fix(ci): align workflow JSON parsing with link-checker v1.3.1 output Tested link-checker v1.3.1 locally and discovered the actual JSON structure differs from what the workflow assumed: - summary.error_count (not broken_count) - errors[]/warnings[]/info[] arrays (not files[] or broken_links[]) - Each entry: {url, status, error, file, line, severity} Changes: - Fix summary field names to match v1.3.1 JSON schema - Parse .errors[] and .warnings[] arrays correctly - Show warnings in collapsible section (don't fail CI) - Map public/ paths to content/ paths for GitHub annotations - Handle missing line numbers gracefully - Cap warnings display at 20 with note about artifacts * fix: broken links from issues #6682, #6461 - Fix wrong path /influxdb/v2/upgrade/v2-beta-to-v2/ → /influxdb/v2/install/upgrade/v2-beta-to-v2/ (#6682) - Fix fragment mismatch: #disable-the-internal-database → #disable-the-_internal-database (Hugo renders backtick `_internal` with underscore in anchor) (#6461) - Fix dead links to /flux/v0/stdlib/universe/from → /flux/v0/stdlib/influxdata/influxdb/from/ (from() moved from universe to influxdata/influxdb package) (#6682) closes #6682, closes #6461 * Update content/influxdb/v1/flux/get-started/_index.md Force error to test workflow * fix(ci): reclassify file-not-found warnings as errors in link checker link-checker v1.3.1 classifies missing local files as warnings because they have no HTTP status code and don't match error_codes=[404,410]. This meant broken internal links (like /flux/v0/stdlib/influxdata/influxdbfrom/) were reported as warnings but didn't fail CI. Fix by post-processing link-check-results.json to move "Cannot find file" entries from warnings to errors before evaluating the check result. Also reverts the intentional test bug in influxdb/v1/flux/get-started/_index.md. * test(ci): intentionally broken fragment to test link-checker detection Introduces broken heading anchor #tools-for-working-with-fluxxx (extra x) to verify whether link-checker/lychee validates fragment anchors on local files. Also documents the known gap: lychee doesn't validate fragments on local file URLs (it checks file existence but doesn't open index.html to verify heading anchors exist). This commit should be reverted after testing. * fix(ci): revert test fragment, document fragment checking limitation Reverts the intentional broken fragment test. Workflow confirmed that lychee does not validate heading anchors on local file URLs — it checks file/directory existence but doesn't open index.html to verify fragments. The ^file://.*# exclusion must remain to prevent false positives from Hugo pretty URL resolution (lychee resolves /page#frag as file:///page instead of file:///page/index.html). Updated config comments to document this known gap clearly. * chore(ci): update link-checker to v1.4.0 * Update link-checker to v1.5.0 in PR workflow * fix(platform): broken link --------- Co-authored-by: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .ci | ||
| .circleci | ||
| .claude | ||
| .context | ||
| .github | ||
| .husky/_ | ||
| .vscode | ||
| api-docs | ||
| assets | ||
| config | ||
| content | ||
| cypress | ||
| data | ||
| deploy | ||
| docs/plans | ||
| flux-build-scripts | ||
| helper-scripts | ||
| layouts | ||
| scripts | ||
| shared/text | ||
| static | ||
| telegraf-build | ||
| test | ||
| .editorconfig | ||
| .frontmatter-schema.json | ||
| .gitignore | ||
| .mcp.json | ||
| .nvmrc | ||
| .prettierignore | ||
| .prettierrc.yaml | ||
| .remarkrc.yaml | ||
| .s3deploy.yml | ||
| .vale-instructions.ini | ||
| .vale.ini | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| DOCS-CONTRIBUTING.md | ||
| DOCS-DEPLOYING.md | ||
| DOCS-FRONTMATTER.md | ||
| DOCS-SHORTCODES.md | ||
| DOCS-TESTING.md | ||
| Dockerfile.pytest | ||
| Dockerfile.tests | ||
| LICENSE | ||
| PLATFORM_REFERENCE.md | ||
| README.md | ||
| broken_links_report.json | ||
| compose.yaml | ||
| cypress.config.js | ||
| docs.code-workspace | ||
| eslint.config.js | ||
| hugo_stats.json | ||
| install-influxdb3-core.sh | ||
| install_influxdb3.sh | ||
| lefthook.yml | ||
| package.json | ||
| tsconfig.json | ||
| yarn.lock | ||
README.md
InfluxData Product Documentation
This repository contains the InfluxData product documentation for InfluxDB and related tooling published at docs.influxdata.com.
Contributing
We welcome and encourage community contributions. For information about contributing to the InfluxData documentation, see Contribution guidelines.
Testing
For information about testing the documentation, including code block testing, link validation, and style linting, see Testing guide.
Documentation Tools
This repository includes a docs CLI tool for common documentation workflows:
# Create new documentation from a draft
npx docs create drafts/new-feature.md --products influxdb3_core
# Create and open files in editor (non-blocking)
npx docs create drafts/new-feature.md --products influxdb3_core --open
# Create and open, wait for editor (blocking)
npx docs create drafts/new-feature.md --products influxdb3_core --open --wait
# Edit existing documentation (supports full URLs or paths)
npx docs edit https://docs.influxdata.com/influxdb3/core/admin/
npx docs edit /influxdb3/core/admin/
# Edit and wait for editor to close (blocking)
npx docs edit /influxdb3/core/admin/ --wait
# List files without opening
npx docs edit /influxdb3/core/admin/ --list
# Use a specific editor
npx docs edit /influxdb3/core/admin/ --editor nano
# Add placeholder syntax to code blocks
npx docs placeholders content/influxdb3/core/admin/upgrade.md
# Get help
npx docs --help
The docs command is automatically configured when you run yarn install.
Editor Configuration
The docs edit and docs create --open commands open documentation files in your preferred editor. By default, they launch the editor in the background and exit immediately (agent-friendly). Use the --wait flag for interactive editing sessions.
Setting Your Editor:
The CLI selects an editor in this priority order:
--editorflagDOCS_EDITORenvironment variableVISUALenvironment variableEDITORenvironment variable- System default (vim, nano, etc.)
Examples:
# Set editor for all commands
export EDITOR=vim
# Set editor specifically for docs CLI
export DOCS_EDITOR=nano
# Use VS Code with built-in wait flag
export DOCS_EDITOR="code --wait"
For Automated Workflows:
The default non-blocking behavior prevents AI agents and automation scripts from hanging:
# In a script or CI pipeline
docs edit /some/url # Returns immediately
echo "Editor launched" # This runs right away
# If you need to wait (interactive editing)
docs edit /some/url --wait # Blocks until editor closes
echo "Editor closed" # This waits for editor to close
Documentation
Comprehensive reference documentation for contributors:
- Contributing Guide - Workflow and contribution guidelines
- Shortcodes Reference - Complete Hugo shortcode documentation
- Working examples - Test shortcodes in the browser
- Frontmatter Reference - Complete page metadata documentation
- Testing Guide - Testing procedures and requirements
- API Documentation - API reference generation
AI Assistant Instructions
Instructions for AI assistants working with this repository:
- GitHub Copilot Instructions - For GitHub Copilot coding agents
- AI Agents Guide - For general AI assistants (Claude, ChatGPT, etc.)
- Instructions Navigation - Complete guide to all instruction files
- Claude Instructions - For Claude Desktop and Claude Code users
Quick Links
Reporting a Vulnerability
InfluxData takes security and our users' trust very seriously. If you believe you have found a security issue in any of our open source projects, please responsibly disclose it by contacting security@influxdata.com. More details about security vulnerability reporting, including our GPG key, can be found at https://www.influxdata.com/how-to-report-security-vulnerabilities/.
Running the docs locally
-
Clone this repository to your local machine.
-
Install NodeJS, Yarn, Hugo, & Asset Pipeline Tools
The InfluxData documentation uses Hugo, a static site generator built in Go. The site uses Hugo's asset pipeline, which requires the extended version of Hugo along with NodeJS tools like PostCSS, to build and process stylesheets and JavaScript.
To install the required dependencies and build the assets, do the following:
-
In your terminal, from the
docs-v2directory, install the dependencies:cd docs-v2 yarn installNote: The most recent version of Hugo tested with this documentation is 0.149.0.
After installation, the
docscommand will be available vianpx:npx docs --help
-
To generate the API docs, see api-docs/README.md.
-
Start the Hugo server
Hugo provides a local development server that generates the HTML pages, builds the static assets, and serves them at
localhost:1313.In your terminal, start the Hugo server:
npx hugo server -
View the docs at localhost:1313.
Alternative: Use docker compose
-
Clone this repository to your local machine. See how to clone a repository.
-
Follow the instructions to install Docker Desktop and Docker Compose to your local machine.
-
Use Docker Compose to start the Hugo server in development mode--for example, enter the following command in your terminal:
docker compose up local-dev -
View the docs at localhost:1313.