This directory contains all documentation for the apps-benchmark project.
- LICENSE - Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0) license information
- CHANGELOG.md - Version history and release notes
- API_REFERENCE.md - API documentation for developers
- CONTRIBUTING.md - Development workflows, tools, best practices, and code of conduct
- DIY_BENCHMARK.md - Guide for creating custom benchmark algorithms
- DIY_BACKEND.md - Guide for creating custom quantum backends
- diagrams/project_function_calls_and_dependencies.png - Rendered architecture diagram for function calls and dependencies
- diagrams/project_function_calls_and_dependencies.dot - Editable Graphviz source for the architecture diagram, rendered locally
All documentation is written in Markdown and can be viewed directly:
- In GitHub's web interface
- In any Markdown viewer
- In your IDE/editor with Markdown preview
HTML documentation is automatically generated from Markdown files via GitHub Actions.
The workflow (.github/workflows/docs-to-html.yml) runs when:
- Changes are pushed to the
mainbranch - Pull requests modify files in
docs/ - Manually triggered via GitHub Actions UI
Generated HTML is:
- Uploaded as workflow artifacts (available for 90 days)
- Deployed to GitHub Pages (if enabled)
From GitHub Pages (if enabled):
https://ionq.github.io/apps-benchmark/
From Workflow Artifacts:
- Go to Actions tab in GitHub
- Click on latest "Generate HTML Documentation" workflow run
- Download "documentation-html" artifact
Build Locally:
# Install pandoc
# macOS:
brew install pandoc
# Ubuntu/Debian:
sudo apt-get install pandoc
# Then generate HTML
cd /path/to/apps-benchmark
mkdir -p docs_html
pandoc docs/CONTRIBUTING.md --from=gfm --to=html5 --standalone --css=style.css -o docs_html/CONTRIBUTING.html- Create or edit Markdown files in
docs/ - Use GitHub-flavored Markdown (GFM)
- Commit and push changes
- GitHub Actions automatically generates HTML
- Update
docs_html/index.htmltemplate in workflow if adding new files
Simply edit the Markdown files and commit. The HTML will regenerate automatically.
Before committing, preview your Markdown:
- Use your IDE's Markdown preview
- Use a tool like
gripfor GitHub-flavored preview:pip install grip grip docs/CONTRIBUTING.md
- Use GitHub-flavored Markdown
- Include table of contents for long documents
- Use code blocks with language tags:
```python - Include examples where appropriate
- Keep line length reasonable (80-100 chars when possible)
- Start with h1 title (
#) - Use hierarchical headings (h2
##, h3###, etc.) - Include "See also" links to related docs
- Add a helpful description at the top
- Test all code examples
- Include necessary imports
- Show expected output when helpful
- Use realistic examples
The HTML generation workflow:
-
Triggers on:
- Push to main (docs changes)
- Pull requests (docs changes)
- Manual dispatch
-
Process:
- Checks out repository
- Installs pandoc
- Converts each
.mdfile to.html - Applies CSS styling
- Creates index page
- Uploads artifacts
- Deploys to GitHub Pages (main branch only)
-
Output:
- Clean, styled HTML files
- Responsive design
- Consistent navigation
To enable GitHub Pages for this repository:
- Go to repository Settings
- Navigate to "Pages" section
- Source: Deploy from a branch
- Branch:
gh-pages, folder:/ (root) - Save
The workflow will automatically deploy to this branch when changes are pushed to main.
- Check GitHub Actions workflow status
- Ensure changes were pushed to main branch
- Verify workflow has proper permissions
- CSS is embedded in workflow file
- Edit
.github/workflows/docs-to-html.ymlto modify styles - Re-run workflow after changes
- Use relative links for docs in same directory:
[text](FILE.md) - Use
../for files in parent directory:[text](../README.md) - External links:
[text](https://example.com)
See CONTRIBUTING.md for contribution guidelines.
For documentation-specific contributions:
- Fix typos and improve clarity
- Add missing examples
- Update outdated information
- Improve organization and structure
- Add helpful diagrams or visuals
For questions about documentation:
- Open an issue on GitHub
- Contact App Benchmark Support at apps-benchmark-support@ionq.co