Skip to content

Conversation

@kvargha
Copy link
Contributor

@kvargha kvargha commented Jan 6, 2026

Problem Statement

  1. Jekyll documentation is based on Ruby, and I've found it difficult every time I need to setup a new Ruby environment when I try to run the docs locally.
  2. UX of documentation is not intuitive and the TableOfContents is overwhelming.
  3. Jekyll doesn't have the ability to toggle between dark and light mode.
  4. Some docs are in the wrong place.
  5. Some of the content in the documentation is outdated.
  6. Documentation for Thin, Fast, and CDC clients are missing.
  7. Documentation for Stream Processor and Da Vinci Client is baren.
  8. Adhering to the maximum of 120 characters per line for Markdown is done manually, while it is automatic for Java code.

Solution

Migrating to MkDocs Material addresses 1-3.

  • Merged the doc and JavaDoc deployments into one GitHub Action.
  • Navigation and page Table Of Contents are separated for a less overwhelming page experience.
  • Header
    • The Venice lion is now in the header for better branding.
    • Link to the Venice repo and number of stars/forks are pinned at the top right.
  • Footer
    • Includes "Previous" and "Next" pages for a guided navigation experience.
    • Socials are added.

4: Moved some pages around to better locations so it's less confusing for first-time users.
5: Updated outdated documentation such as "AA is still under development."
6. Added documentation for Thin, Fast, and CDC clients.
7. Improved documentation for Stream Processor and Da Vinci Client and added code examples.
8: Added Markdown prettier that automatically wraps lines that exceed 120 characters during pre-commit.

New docs can be viewed here.
JavaDocs still work too.

Code changes

  • Added new code behind a config. If so list the config names and their default values in the PR description.
  • Introduced new log lines.
    • Confirmed if logs need to be rate limited to avoid excessive logging.

Concurrency-Specific Checks

Both reviewer and PR author to verify

  • Code has no race conditions or thread safety issues.
  • Proper synchronization mechanisms (e.g., synchronized, RWLock) are used where needed.
  • No blocking calls inside critical sections that could lead to deadlocks or performance degradation.
  • Verified thread-safe collections are used (e.g., ConcurrentHashMap, CopyOnWriteArrayList).
  • Validated proper exception handling in multi-threaded code to avoid silent thread termination.

How was this PR tested?

  • New unit tests added.
  • New integration tests added.
  • Modified or extended existing tests.
  • Verified backward compatibility (if applicable).

Does this PR introduce any user-facing or breaking changes?

  • No. You can skip the rest of this section.
  • Yes. Clearly explain the behavior change and its impact.
    Links for pages are changed.

@kvargha kvargha changed the title [doc] Migrate Venice docs from Jekyll to MkDocs Material [doc] Migrate Venice docs from Jekyll to MkDocs Material and improve documentation Jan 23, 2026
ZacAttack
ZacAttack previously approved these changes Jan 25, 2026
Copy link
Contributor

@ZacAttack ZacAttack left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This hasn't seemed to have moved much, so I'm willing it take the initiative and ship. As a I recall most of this was copied from the the original.

@kvargha
Copy link
Contributor Author

kvargha commented Jan 26, 2026

Last time we discussed about this, the content was mostly copied over.

However, I made some more changes. Ex: added missing documentation for thin, fast, and CDC clients.

The CDC one is mostly imported from a document I wrote internally.

mynameborat
mynameborat previously approved these changes Feb 3, 2026
Copy link
Contributor

@mynameborat mynameborat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for improving these. I looked at the documentation changes in your github hosted site.

Should we do any work to deploy these once merged? Or will it automatically update the website with the changes?

@kvargha
Copy link
Contributor Author

kvargha commented Feb 5, 2026

@mynameborat Thanks for taking a look. I've updated the GitHub actions in this PR to automatically deploy the site on every commit merged to main.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants