Skip to content

Document the GeoLibre R package - #1771

Merged
giswqs merged 1 commit into
mainfrom
docs/r-package
Aug 8, 2026
Merged

Document the GeoLibre R package#1771
giswqs merged 1 commit into
mainfrom
docs/r-package

Conversation

@giswqs

@giswqs giswqs commented Aug 8, 2026

Copy link
Copy Markdown
Member

Summary

  • add a complete R package guide covering installation, maps, sf, rasters, project files, Shiny, and self-hosting
  • add the R integration to Getting Started, the homepage, the feature catalog, and README
  • add the guide to the MkDocs Reference navigation
  • link the package website, live interactive example, API reference, and source repository

Validation

  • MkDocs site build succeeds
  • all newly added external destinations return HTTP 200
  • git diff --check passes

Existing warnings

MkDocs strict mode remains blocked by two unrelated existing warnings: server-api.md is absent from the navigation and the generated demo/ navigation target is not present in the source docs tree.

Summary by CodeRabbit

  • Documentation
    • Added comprehensive documentation for using the GeoLibre R package with RStudio, Quarto, R Markdown, and Shiny.
    • Added guidance for interactive maps, sf and GeoJSON data, remote rasters, camera controls, project persistence, and self-hosting.
    • Added installation instructions, quick-start examples, and an interactive example link.
    • Added the R Package guide to the documentation navigation and feature overview.

@coderabbitai

coderabbitai Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: ff02e300-5919-40cc-8b3c-addf02327d79

📥 Commits

Reviewing files that changed from the base of the PR and between d8b06e9 and 66d2da6.

📒 Files selected for processing (6)
  • README.md
  • docs/features.md
  • docs/getting-started.md
  • docs/index.md
  • docs/r.md
  • mkdocs.yml

📝 Walkthrough

Walkthrough

The documentation adds a complete geolibre R package guide and links it from the README, getting-started page, feature pages, home page, and reference navigation.

Changes

R package documentation

Layer / File(s) Summary
R package usage guide
docs/r.md
Documents installation, GeoJSON and sf maps, remote rasters, project files, Shiny integration, and custom application URLs.
Documentation discovery and entry points
README.md, docs/getting-started.md, docs/features.md, docs/index.md, mkdocs.yml
Adds R package links, feature descriptions, installation guidance, and reference navigation.

Estimated code review effort: 2 (Simple) | ~10 minutes

Poem

I’m a bunny with maps in my paws,
R pages now explain every cause.
GeoJSON hops, rasters glide,
Shiny projects open wide.
Documentation grows—what delight!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: adding documentation for the GeoLibre R package.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/r-package

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@giswqs
giswqs marked this pull request as ready for review August 8, 2026 05:10
Copilot AI lite review requested due to automatic review settings August 8, 2026 05:10

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

🔍 Cloudflare PR preview

Item Value
Site https://535161a4.geolibre-preview.pages.dev
Demo app https://535161a4.geolibre-preview.pages.dev/demo/
Commit 66d2da6

Comment thread docs/r.md
Comment on lines +122 to +131
server <- function(input, output, session) {
map <- reactiveVal(geolibre(map_only = TRUE))
output$map <- renderGeolibre(map())

observeEvent(input$reset, {
next_map <- set_view(map(), center = c(0, 20), zoom = 2)
map(next_map)
update_geolibre(geolibre_proxy("map"), next_map)
})
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The example contradicts its own explanation. The preceding paragraph says "a proxy updates the live widget without rebuilding the output," but the code has output$map <- renderGeolibre(map()) reactively depend on the map reactiveVal, and then observeEvent calls both map(next_map) (line 128, which invalidates and re-runs renderGeolibre, rebuilding the whole widget) and update_geolibre(geolibre_proxy("map"), next_map) (line 129, the no-rebuild proxy path). Doing both together means the rebuild the proxy is meant to avoid happens anyway, and readers copying this pattern won't get the "no rebuild" behavior the prose promises.

A pattern that actually demonstrates the proxy benefit would drop the reactiveVal/renderGeolibre dependency on next_map and update only via the proxy, e.g.:

server <- function(input, output, session) {
  output$map <- renderGeolibre(geolibre(map_only = TRUE))

  observeEvent(input$reset, {
    update_geolibre(geolibre_proxy("map"), function(m) set_view(m, center = c(0, 20), zoom = 2))
  })
}

(Exact API may differ — I can't verify the geolibre R package's actual proxy signature since it lives in a separate repo — but the current example as written doesn't achieve what the prose claims.)

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

🔍 GitHub Pages PR preview

Item Value
Site https://opengeos.org/pages-preview/GeoLibre/pr-1771/
Demo app https://opengeos.org/pages-preview/GeoLibre/pr-1771/demo/
Commit 66d2da6

Note

GitHub Pages built this preview successfully, but its serving edge returned HTTP 403 when checked. The links may still be propagating.

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Code review

Bugs

  • docs/r.md:122-131 — The Shiny example's own explanatory text says the proxy update "without rebuilding the output," but the code updates the map reactiveVal (which output$map <- renderGeolibre(map()) depends on) and calls the proxy update in the same handler — so the full rebuild the proxy is meant to avoid happens anyway. Readers copying the pattern won't see the behavior the prose promises. Confidence: medium (reasoning from R/Shiny reactive semantics; I can't execute R or verify the actual geolibre R package API since it lives in a separate repo).

Security

  • None found. No secrets, executable code, or untrusted input handling introduced — this PR only adds/links Markdown documentation.

Performance

  • Not applicable — docs-only change.

Quality

  • All new cross-references (docs/r.md, README.md, docs/features.md, docs/getting-started.md, docs/index.md, mkdocs.yml) are mutually consistent in wording, ordering, and link targets, and the nav placement mirrors the existing Python/MCP entries. Confidence: high.
  • Minor, non-blocking: the R code examples (add_geojson, add_sf, save_project/load_project, geolibreOutput/renderGeolibre/geolibre_proxy) can't be verified against the actual geolibre R package, since that package lives in opengeos/geolibre-r, outside this repo. Only the Shiny proxy issue above stood out as internally inconsistent; the rest read as plausible but unverified. Confidence: low (informational, not a defect claim).

CLAUDE.md

  • CLAUDE.md's "Reference docs" line explicitly lists docs/python.md and docs/mcp.md alongside the other reference pages, but this PR doesn't add the new docs/r.md to that list even though it's the same kind of top-level package guide. Not a functional problem, but leaves CLAUDE.md's own doc index slightly stale. Confidence: medium.

No other issues found; the diff is a clean, self-consistent documentation addition (new docs/r.md guide plus consistent links from README.md, docs/features.md, docs/getting-started.md, docs/index.md, and mkdocs.yml).

@giswqs
giswqs merged commit eeb9afd into main Aug 8, 2026
13 of 14 checks passed
@giswqs
giswqs deleted the docs/r-package branch August 8, 2026 05:15
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.

2 participants