Skip to content

Commit

Permalink
Revamp intro page
Browse files Browse the repository at this point in the history
  • Loading branch information
asinghvi17 committed Feb 29, 2024
1 parent 20c320f commit c482805
Show file tree
Hide file tree
Showing 4 changed files with 74 additions and 19 deletions.
2 changes: 1 addition & 1 deletion docs/.gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
node_modules/
build/
package-list.json
package-lock.json
2 changes: 1 addition & 1 deletion docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ makedocs(;
repo = "github.com/asinghvi17/GeometryOps.jl",
),
pages=[
"Home" => "index.md",
"Introduction" => "introduction.md",
"API Reference" => "api.md",
"Source code" => literate_pages,
],
Expand Down
63 changes: 46 additions & 17 deletions docs/src/index.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,47 @@
```@meta
CurrentModule = GeometryOps
```

# GeometryOps.jl
```@raw html
---
# https://vitepress.dev/reference/default-theme-home-page
layout: home
hero:
name: "GeometryOps.jl"
text: ""
tagline: Blazing fast geometry operations in pure Julia
image:
src: /logo.png
alt: GeometryOps
actions:
- theme: brand
text: Introduction
link: /introduction
- theme: alt
text: View on Github
link: https://github.com/asinghvi17/GeometryOps.jl
- theme: alt
text: API Reference
link: /api
features:
- icon: <img width="64" height="64" src="https://rawcdn.githack.com/JuliaLang/julia-logo-graphics/f3a09eb033b653970c5b8412e7755e3c7d78db9e/images/juliadots.iconset/icon_512x512.png" alt="Julia code"/>
title: Pure Julia code
details: Fast, understandable, extensible functions
link: /introduction
- icon: <img width="64" height="64" src="https://fredrikekre.github.io/Literate.jl/v2/assets/logo.png" />
title: Literate programming
details: Documented source code with examples!
link: /source/methods/clipping/cut
- icon: <img width="64" height="64" src="https://rawcdn.githack.com/JuliaGeo/juliageo.github.io/4788480c2a5f7ae36df67a4b142e3a963024ac91/img/juliageo.svg" />
title: Full integration with GeoInterface
details: Use any GeoInterface.jl-compatible geometry
link: https://juliageo.org/GeoInterface.jl/stable
---
<p style="margin-bottom:2cm"></p>
<div class="vp-doc" style="width:80%; margin:auto">
<h1> What is GeometryOps.jl? </h1>
GeometryOps.jl is a package for geometric calculations on (primarily 2D) geometries.
Expand All @@ -12,18 +51,8 @@ Most of the usecases are driven by GIS and similar Earth data workflows, so this
We welcome contributions, either as pull requests or discussion on issues!
## Main concepts

### The `apply` paradigm

!!! note
See the [Primitive Functions](@ref) page for more information on this.
The `apply` function allows you to decompose a given collection of geometries down to a certain level, and then operate on it.
</div>
Functionally, it's similar to `map` in the way you apply it to geometries.

### What's this `GeoInterface.Wrapper` thing?

Write a comment about GeoInterface.Wrapper and why it helps in type stability to guarantee a particular return type.
```

26 changes: 26 additions & 0 deletions docs/src/introduction.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Introduction


GeometryOps.jl is a package for geometric calculations on (primarily 2D) geometries.

The driving idea behind this package is to unify all the disparate packages for geometric calculations in Julia, and make them [GeoInterface.jl](https://github.com/JuliaGeo/GeoInterface.jl)-compatible. We seem to be focusing primarily on 2/2.5D geometries for now.

Most of the usecases are driven by GIS and similar Earth data workflows, so this might be a bit specialized towards that, but methods should always be general to any coordinate space.

We welcome contributions, either as pull requests or discussion on issues!

## Main concepts

### The `apply` paradigm

!!! note
See the [Primitive Functions](/source/primitives) page for more information on this.

The `apply` function allows you to decompose a given collection of geometries down to a certain level, and then operate on it.

Functionally, it's similar to `map` in the way you apply it to geometries.

### What's this `GeoInterface.Wrapper` thing?

Write a comment about GeoInterface.Wrapper and why it helps in type stability to guarantee a particular return type.

0 comments on commit c482805

Please sign in to comment.