Skip to content

docs: replace markdown docs with comprehensive guides and Docusaurus deployment - #32

Merged
MathiasVDA merged 6 commits into
mainfrom
copilot/update-user-and-developer-guides
Dec 10, 2025
Merged

MathiasVDA merged 6 commits into
mainfrom
copilot/update-user-and-developer-guides

Conversation

Copilot AI commented Dec 9, 2025 •

Copy link
Copy Markdown

Replaces existing markdown documentation with two comprehensive guides (User Guide and Developer Guide), streamlines the README, and deploys documentation via Docusaurus to GitHub Pages with the dev build at /dev/main.

Documentation Content

  • User Guide (24KB): SPARQL introduction, high-level component overview, enhanced feature documentation (themes with system detection, layouts, formatting, prefix management, URI explorer), detailed endpoint quick switch guide, plugin descriptions with constraints, keyboard shortcuts, troubleshooting. No code snippets.

  • Developer Guide (55KB): Architecture diagram with labeled package structure, installation methods (npm/yarn/CDN/Docker/source), usage examples across frameworks (HTML, React, Vue, Angular), complete configuration reference with enhanced theme and endpoint buttons sections, API methods and events with TypeScript interfaces, step-by-step plugin development guide with comprehensive theme support implementation guide, contribution workflow.

  • README: Condensed to essentials—description, features list with doc links, quick start, installation, GitHub Pages structure documentation.

Docusaurus Setup

website/
├── docs/
│   ├── intro.md           # Landing page
│   ├── user-guide.md      # Full user documentation
│   └── developer-guide.md # API reference and integration guide
├── docusaurus.config.ts   # Configured for Matdata-eu/Yasgui
└── sidebars.ts            # Navigation structure

GitHub Actions Workflow

.github/workflows/deploy-pages.yml (renamed from deploy-docs.yml):

# Builds YASGUI app → /dev/main/
# Builds Docusaurus docs → /
# Combines into single GitHub Pages deployment

Deployed structure:

https://matdata-eu.github.io/Yasgui/
├── /              # Documentation (Docusaurus)
└── /dev/main/     # Live build from main branch

Documentation Consolidation

Integrated and removed specialized guides into main documentation:

  • Integrated docs/THEME_GUIDE.md → Enhanced themes sections in user and developer guides with system detection, persistence, and CSS customization
  • Integrated docs/THEME_IMPLEMENTATION_GUIDE.md → New "Theme Support for Plugins" section in developer guide with complete implementation steps
  • Integrated docs/ENDPOINT_BUTTONS.md → Enhanced endpoint quick switch sections with detailed behavior and configuration
  • Kept docs/RELEASE_NOTES_INSTRUCTIONS.md as standalone reference

Enhanced Sections

User Guide:

  • Expanded Themes section with light/dark theme details, system preference detection, and troubleshooting
  • Detailed Endpoint Quick Switch with accessibility and persistence information

Developer Guide:

  • Enhanced Theme Configuration with TypeScript support, CSS customization, and browser compatibility
  • Expanded Endpoint Buttons Configuration with complete examples and CSS variables
  • New "Theme Support for Plugins" section with MutationObserver patterns, CSS custom properties usage, and testing guidelines

Example: Developer Guide Usage

import Yasgui from '@matdata/yasgui';

const yasgui = new Yasgui(element, {
  requestConfig: { endpoint: 'https://dbpedia.org/sparql' },
  theme: 'dark',
  orientation: 'horizontal'
});

// Listen to events
yasgui.on('queryResponse', (instance, tab) => {
  console.log('Query completed:', tab.getName());
});

Documentation is version-tagged with the repository and includes architecture diagrams, complete TypeScript interfaces, framework integration patterns, and comprehensive plugin theming guide.

Original prompt

This section details on the original issue you should resolve

<issue_title>Write a comprehensive user guide and developer guide</issue_title>
<issue_description>Replace the docs/ markdown files with two complete and comprehensive guides, written in markdown.

A user only sees the frontend and not the code. The user guide should:

  • Include sections on the different components, but only from a high level perspective.
  • Contain a section on all the different features such as fullscreen, query formatting, quick describe, ...
  • Include screenshots with annotations where applicable
  • Include a section on the different plugins available and how they work and what their constraints are
  • Not contain code snippets
  • A short section that explains what a SPARQL query is and where to find more information. Make a reference to https://kvistgaard.github.io/sparql/ for a detailed guide
  • A troubleshooting guide

Developer guide should:

  • Explain the architecture of the different packages, include a diagram with labeled sections indicated
  • How to download (from source, npm, cdn), install and use
  • How to use should be documented for different use cases (in plain html, as part of a node application, framework integrations...)
  • Code snippets for configuration options
  • A section on each configuration option with a comprehensive description
  • The API, events and configuration of the different packages including examples for listening to events
  • A "how to" "step by step guide" explaining how to write a new plugin
  • A contribution guide

The README should be slimmed down to bare necessities with reference to the new documentation and a list of features with a hyperlink to the relevant user guide documentation.

  • Short description of Yasgui and it's features.
  • Installation instructions (basic).
  • Quick start example.
  • Link to full User Guide and Developer Guide.
  • List of features with hyperlinks to relevant documentation.
  • Link to the releases page that contains the changelog

Since the documentation will be inside the repo as markdown files, it will also be version tagged. But next to the source code, we also need to publish a website with this documentation. Create a github workflow file that will deploy our documentation using Docusaurus to the github pages. This documentation should go to the index of the github pages.
The current github pages publish workflow, publishes a build of the app in the main branch. Put this in the /dev/main sub directory. Document this information in the readme.</issue_description>

<agent_instructions>use conventional commit messages</agent_instructions>

Comments on the Issue (you are @copilot in this section)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 3 commits December 9, 2025 09:45
Co-authored-by: MathiasVDA <15101339+MathiasVDA@users.noreply.github.com>
Co-authored-by: MathiasVDA <15101339+MathiasVDA@users.noreply.github.com>
Co-authored-by: MathiasVDA <15101339+MathiasVDA@users.noreply.github.com>
Copilot AI changed the title [WIP] Write comprehensive user and developer guide docs: replace markdown docs with comprehensive guides and Docusaurus deployment Dec 9, 2025
Copilot AI requested a review from MathiasVDA December 9, 2025 09:59
@MathiasVDA

Copy link
Copy Markdown
Collaborator

@copilot

Keep docs/RELEASE_NOTES_INSTRUCTIONS.md but integrate docs/THEME_GUIDE.md, docs/THEME_IMPLEMENTATION_GUIDE.md and docs/ENDPOINT_BUTTONS.md into the new documentation. Then remove them.

Rename the workflow to deploy-pages

Co-authored-by: MathiasVDA <15101339+MathiasVDA@users.noreply.github.com>

Copilot AI commented Dec 9, 2025

Copy link
Copy Markdown
Author

@copilot

Keep docs/RELEASE_NOTES_INSTRUCTIONS.md but integrate docs/THEME_GUIDE.md, docs/THEME_IMPLEMENTATION_GUIDE.md and docs/ENDPOINT_BUTTONS.md into the new documentation. Then remove them.
...

Done in commit ebb3ef9:

  1. ✅ Kept docs/RELEASE_NOTES_INSTRUCTIONS.md
  2. ✅ Integrated docs/THEME_GUIDE.md into user and developer guides
  3. ✅ Integrated docs/THEME_IMPLEMENTATION_GUIDE.md into developer guide's plugin development section
  4. ✅ Integrated docs/ENDPOINT_BUTTONS.md into user and developer guides
  5. ✅ Removed all three integrated files
  6. ✅ Renamed workflow from deploy-docs.yml to deploy-pages.yml

The theme and endpoint button documentation is now part of the main guides with enhanced details and examples.

@MathiasVDA
MathiasVDA marked this pull request as ready for review December 10, 2025 09:49
Copilot AI review requested due to automatic review settings December 10, 2025 09:49
@MathiasVDA
MathiasVDA merged commit 9ec5358 into main Dec 10, 2025
6 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR successfully replaces existing markdown documentation with a comprehensive Docusaurus-based documentation site and reorganizes the deployment structure to serve both documentation and the live application from GitHub Pages.

Key Changes:

  • Introduces Docusaurus 3.9.2 for documentation with modern React-based static site generation
  • Restructures GitHub Pages deployment: documentation at root (/) and live build at /dev/main/
  • Adds comprehensive User Guide and Developer Guide documentation structure
  • Consolidates specialized guides (theme guides, endpoint button docs) into main documentation

Reviewed changes

Copilot reviewed 21 out of 32 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
website/docusaurus.config.ts Configures Docusaurus with YASGUI branding, GitHub integration, and navigation
website/package.json Defines dependencies including Docusaurus 3.9.2, React 19, and build scripts
website/sidebars.ts Sets up documentation sidebar navigation structure
website/tsconfig.json TypeScript configuration for Docusaurus with proper exclusions
website/src/pages/index.tsx Homepage component with links to documentation and live demo
website/src/components/HomepageFeatures/index.tsx Feature showcase component (contains placeholder Docusaurus content)
website/docs/intro.md Documentation landing page with quick links and feature overview
website/static/ Static assets including favicon, logo, and placeholder SVG images
docs/release-note-instructions.md Consolidated release notes generation guide
.gitignore Updated to exclude Docusaurus build artifacts

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +12 to +43
const FeatureList: FeatureItem[] = [
{
title: 'Easy to Use',
Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default,
description: (
<>
Docusaurus was designed from the ground up to be easily installed and
used to get your website up and running quickly.
</>
),
},
{
title: 'Focus on What Matters',
Svg: require('@site/static/img/undraw_docusaurus_tree.svg').default,
description: (
<>
Docusaurus lets you focus on your docs, and we&apos;ll do the chores. Go
ahead and move your docs into the <code>docs</code> directory.
</>
),
},
{
title: 'Powered by React',
Svg: require('@site/static/img/undraw_docusaurus_react.svg').default,
description: (
<>
Extend or customize your website layout by reusing React. Docusaurus can
be extended while reusing the same header and footer.
</>
),
},
];

Copilot AI Dec 10, 2025

Copy link

Choose a reason for hiding this comment

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

The HomepageFeatures component contains placeholder Docusaurus content that should be replaced with YASGUI-specific feature descriptions. The current text references "Docusaurus" instead of "YASGUI" features.

Copilot uses AI. Check for mistakes.
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.

Write a comprehensive user guide and developer guide

3 participants