docs: add GitHub Pages documentation with Documenter.jl#12
Merged
Conversation
- Add .github/workflows/Documentation.yml for automated deployment - Add docs/Project.toml with Documenter.jl dependencies - Add docs/make.jl with path rewriting and page organization - Add new documentation pages: - guide/getting-started.md: Quick start guide - advanced/macro-internals.md: How @with_pool works - advanced/internals.md: Pool architecture overview - Organize existing docs into structured hierarchy: - Guide: Getting Started, Safety Rules - Usage: API Reference, Configuration, @maybe_with_pool, CUDA - Advanced: Multi-threading, Macro Internals, Internals
- Translate 6 Korean/mixed documents to English: - fixed_slots_codegen_design.md (updated for 7 fixed slots) - hybrid_api_design.md - nd_array_approach_comparison.md - new_hybrid_api_design.md - untracked_acquire_design.md - macro-linenumbernode-improvement.md - Copy 2 existing English documents: - cuda_extension_design.md - vector_resize_memory_behavior.md - Verify codebase consistency with design specs
- Merge new_hybrid_api_design.md into hybrid_api_design.md - Add Implementation Specification section (struct layout, N-way algorithm) - Add API Aliases section (acquire_view!, acquire_array!) - Add Verification Checklist - Remove redundant new_hybrid_api_design.md
- fixed_slots_codegen_design.md: Update empty!() to 1-based sentinel pattern - hybrid_api_design.md: Mark changes as implemented, resolve open questions - nd_array_approach_comparison.md: Update N-way cache structure (nd_views removed) - untracked_acquire_design.md: Update _mark_untracked!(), rewind!(), replace all_type_stacks() with foreach_fixed_slot()
- Remove copy logic from make.jl (files now live in docs/src/) - Delete redundant docs/*.md files (content is in docs/src/**) - Update README links to point to GitHub Pages stable URLs - Simplify documentation build process
Reorganize documentation from Guide/Usage/Advanced to: - Basics: quick-start, @with_pool patterns, essential API, safety rules - Features: @maybe_with_pool, CUDA, multi-threading, configuration - Reference: full API - Architecture: how-it-works, type dispatch, macro internals, design docs New content: - basics/with-pool-patterns.md: function decorator vs block wrapper - basics/api-essentials.md: core API with reset! and fill! patterns - architecture/type-dispatch.md: N-way cache + View vs Array guide - architecture/design-docs.md: links to design documents Improvements: - safety-rules.md: visual emphasis with tables - how-it-works.md: zero-alloc diagram + try...finally explanation - make.jl: mapping table approach for path rewriting
- Add advanced/pool-patterns.md with direct pool access pattern - Fix memory semantics: "recycled" → "marked available for reuse" - Add warning admonition explaining undefined behavior after scope - Clarify unsafe_acquire! is zero-allocation on cache hit - Add tip admonition for cache behavior documentation - Separate basics and advanced pool patterns into distinct sections
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #12 +/- ##
=======================================
Coverage 96.41% 96.41%
=======================================
Files 8 8
Lines 1004 1004
=======================================
Hits 968 968
Misses 36 36 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR: Add GitHub Pages Documentation with Documenter.jl
Summary
Key Changes
Infrastructure
.github/workflows/Documentation.ymldocs/Project.tomldocs/make.jlDocumentation Structure
Design Documents (English)
hybrid_api_design.mdacquire!vsunsafe_acquire!type stability analysisnd_array_approach_comparison.mduntracked_acquire_design.mdfixed_slots_codegen_design.md@generatedcuda_extension_design.mdTechnical Accuracy Improvements
Memory semantics clarification:
!!! warningadmonition explaining undefined behavior:acquire!calls may overwrite dataunsafe_acquire!clarification:!!! tipshowing cache behavior (0 bytes hit / 80-144 bytes miss)New advanced patterns:
get_task_local_pool()in inner functionsCommits
Test Plan
julia --project=docs docs/make.jlbuilds successfully!!! warning,!!! tip) render properlyBreaking Changes
None. This PR only adds documentation infrastructure.
Related