Commit Graph

6 Commits (clean-squash)

Author SHA1 Message Date
Jason Stirnaman f5535c9d5c feat(api): Hugo-native API reference rendering
Hugo-native templates for API
reference documentation. Operations render as server-side HTML instead
of client-side Redoc, providing faster page loads, full SEO
indexability, and consistent styling.

Architecture:
- Tag-based navigation: operations grouped by OpenAPI tag, accessed
  via tag pages only (no individual operation URLs)
- Generation script auto-discovers products from .config.yml files,
  deriving Hugo paths and menu keys from directory structure
- Per-tag JSON/YAML chunks for fast Hugo template rendering
- Inline curl examples generated from OpenAPI specs at build time

Templates (layouts/api/, layouts/partials/api/):
- tag-renderer.html: renders all operations for a tag
- operation.html: individual operation with parameters, request body,
  responses, and schema rendering
- code-sample.html: curl examples with Ask AI integration
- section-children.html: tag listing on section index pages
- all-endpoints-list.html: all operations sorted by path

Generation (api-docs/scripts/generate-openapi-articles.ts):
- Auto-discovery from .config.yml replaces hardcoded productConfigs
- Each API section generates independently (no cross-spec merging)
- Frontmatter-driven template data (specDownloadPath, articleDataKey)
- Link transformation: /influxdb/version/ placeholders resolved to
  product-specific paths

Removed:
- Redoc renderer, JavaScript components, and CSS
- Shadow DOM test infrastructure (~160 lines)
- Operation page generation (dead generatePathPages function)
- mergeArticleData() and slugifyDisplayName()

Styles (assets/styles/layouts/_api-*.scss):
- 3-column layout: sidebar, content, sticky TOC
- Theme-aware code blocks for curl examples
- Method badges (GET/POST/PUT/DELETE) with color coding
- Collapsible schema sections with depth tracking

Tests (cypress/e2e/content/api-reference.cy.js):
- Tag page rendering with operation structure
- Download button verification per section
- All-endpoints page with operation cards
- Related links from x-related OpenAPI extension
- Code sample and Ask AI link validation
2026-03-15 22:17:33 -05:00
Jakub Bednář 3606b03e7d
Release Chronograf v1.11.0 (#6854)
* Release Chronograf v1.11.0

* fix: warning format

Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>

---------

Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
2026-02-24 10:19:18 -06:00
WeblWabl 4cecc27be2
feat: Add v2.8.0 release notes (#6623)
* feat: Add v2.8.0 release notes

* feat: add token hashing doc

* feat: Update content/influxdb/v2/reference/release-notes/influxdb.md

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>

* feat: Update content/influxdb/v2/reference/release-notes/influxdb.md

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>

* feat: Update content/influxdb/v2/reference/release-notes/influxdb.md

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>

* feat: Update content/influxdb/v2/reference/release-notes/influxdb.md

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>

* feat: Update content/influxdb/v2/reference/release-notes/influxdb.md

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>

* feat: Update content/influxdb/v2/reference/release-notes/influxdb.md

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>

* feat: Update content/influxdb/v2/reference/release-notes/influxdb.md

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>

* feat: Update content/influxdb/v2/reference/release-notes/influxdb.md

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>

* feat: Update content/influxdb/v2/reference/release-notes/influxdb.md

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>

* feat: Update content/influxdb/v2/reference/release-notes/influxdb.md

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>

* feat: Update content/influxdb/v2/reference/release-notes/influxdb.md

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>

* feat: Update content/influxdb/v2/reference/release-notes/influxdb.md

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>

* chore(influxdbv2): Revise release notes and bump version to 2.8.0.

---------

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
2025-12-12 17:07:48 -06:00
Jason Stirnaman f9435b0cf8
chore(enterprise_influxdb): specify Enterprise v1 and remove new sign… (#6485)
* chore(enterprise_influxdb): specify Enterprise v1 and remove new signup notes:

- Removes instructions for new signups at portal.influxdata (at Marketing's request)
- Uses Enterprise v1 in titles and descriptions
- Updates title metadata template to use InfluxDB Enterprise v1
- Updates products.yml to use InfluxDB Enterprise v1
- Removes unused enterprise-name/-link shortcodes

I chose InfluxDB Enterprise v1 over InfluxDB v1 Enterprise due to recent usage patterns and because it's compatible with uses like "InfluxDB Enterprise 1.11.x" without being redundant.

* Apply suggestion from @jstirnaman

* Apply suggestion from @jstirnaman

* Apply suggestion from @jstirnaman
2025-10-24 12:52:47 -05:00
Jason Stirnaman 189d86fcda chore(instructions): restructure contributing instructions for humans and assistants 2025-10-08 15:48:44 -05:00
Jason Stirnaman f9f81ae8f9 Initial Kapa.ai chat integration.
Continue refactoring JavaScript into a component pattern and ESM.
Replaces some jQuery with native DOM API.

chore(ai): reference documentation and instructions for training AI

chore(ai): implement Kapa AI chat widget
- Move script tag to HTML template to make it obvious.
- Cleanup javascript to make it more component-like
- Set Kapa attributes, support setting userid

chore(js): add JS dependencies, previously referenced in script tags, to package.json for JS builds.

fix(api): indents

chore(js): package Mermaid diagram library

chore(js): refactor JS for AIChat and Theme as examples of using the component pattern for HTML/CSS/JS

chore(js): Use the new local-storage API in refactored module code and in code not yet ported. Cleanup syntax in local-storage and make functions available from window.LocalStorageAPI.

fix(js): theme.js name-change

chore(js): fix ai-chat.js file name

fix(js): refactor:
- componentNames are snakecase in HTML
- replace DOM selection method and jQuery eventhandler assignment
- remove old theme.js references

chore(ai): configure chat window overlay, size, and position:
- removes overlay and scroll lock
- positions chat to the right and bottom
- expands sample question width to 12 cols

chore(ai): edit disclaimer

fix(ai): size and position

chore(js): make ai-chat specific to configuration and and setting userid (for testing and future use).

fix(js): copy referrerHost variable to v3-wayfinding instead of relying on influxdb-url to assign it.

chore(ai): add a footer div at page bottom to contain modal triggers for custom-time and ask-ai. Still needs some CSS help. Moves tooltip text from CSS to HTML data attribute.

chore(ai): dynamically load AI script tag after DOMContentLoaded to avoid race conditions. Call initialization from the modal trigger module and pass the show trigger function to the onload handler.

fix(ai): fix modal triggers to viewport

fix(modal-triggers): stack the triggers into a single column.

restyle footer widgets

updated time selector modal to use correct storage term

minor style update

WIP(ai-chat): get product data

chore(js): Factor out pageContext module from influxdb-url.js

chore(js): Refactor helpers.js out of inflluxdb-url.js

WIP: refactor influxdburl - minimal changes for module conversions

feat(ai): Custom AI chat example questions product and version.
Ask AI example questions:
- Adds support for customizing example Ask AI questions per product or version.
- Configure questions in site `data/products.yml`; otherwise, it uses default questions from `ask-ai.js`

Context, page, and product data:
- Adds sample URLs for remaining versions in influxdb_urls
- `page-context.js` consolidates and exports constants for page context (protocol, host, path, referrer) and path-to-data mappings for product and influxdb_url site data

Module refactor:
- Refactors some JavaScript into ES6 modules, and refactors some of those further into a Component pattern--just vanilla JS and no shadow DOM stuff. The Component pattern that uses data attributes to "bind" JavaScript modules with CSS and HTML is a popular approach in modern web development. This pattern enhances modularity, reusability, and maintainability by associating behavior (JavaScript), structure (HTML), and style (CSS) through the use of data attributes.
- `assets/main.js` is the entrypoint
- Passes pageParams from the Hugo page to modules that import `@params`.
- Moves most external dependencies out of `script` tags and into package.json to be managed with `yarn`.
- Adds `eslint`.
- For modules that aren't yet components, wraps execution statements inside an `initialize()` function and calls the function from `main.js` on `DOMContentLoaded`.
- For components, if the page contains the `data-component="<component-name>"`, the matching element is passed to the component function on `DOMContentLoaded`.
- I tried to avoid changing logic where it wasn't necessary.

Update DOC_GPT_PROFILE.md

customize ai chat modal styles

fix(influxdb-url): Rename to cloud_dedicated in influxdb_urls.yml, remove newly added placeholder URL and use the extant default, refactor
- Rename  to  in influxdb_urls.yml
- Fix influxdb-url.js and data provision in local-storage.js to use the new name, mapping it to  to retain the existing local storage key

chore(api-lib): Use local-storage import instead of window global

chore(js): cleanup

fix(js): Ensure feature-callout initializes on page load

fix(theme): Load preferred theme before making the page visible. Execute a predefined function by specifying the function name in data-theme-callback

fix(search-toggle): Restores toggling the search field when sidebar is collapsed. Moves the event handler to a new search-button component

fix(ai): Fix custom attribute assignment. Rename property to ai_example_questions

Include the word `Bearer` or `Token`, a space, and your **token** value (all case-sensitive). Fix TOC links.
Fixes #5781

fix(api-docs): Update API reference directories and generation script for influxdb3 URL paths, update links and names in reference content

fix(api-ref): Update getswagger.sh destination paths to use the new directory structure when fetching spec files. Update the redocly  plugin module path.

hotfix: fix hlevel bug in children shortcode

Remove underline from custom time widget

add color to custom time widget styling
2025-02-03 08:31:55 -06:00