Skip to content

Commit f1bcf5b

Browse files
include all docs
1 parent ca90e88 commit f1bcf5b

File tree

7 files changed

+84
-75
lines changed

7 files changed

+84
-75
lines changed

.github/workflows/multidocs.yml

Lines changed: 27 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -20,81 +20,63 @@ jobs:
2020
- name: Set up
2121
run: git config --global init.defaultBranch master
2222

23-
# Build GNNGraphs docs
24-
- name: Install dependencies for GNNGraphs
23+
- name: Build GNNGraphs docs
2524
run:
2625
julia --project=GNNGraphs/docs/ -e '
27-
using Pkg;
28-
Pkg.develop(PackageSpec(path=joinpath(pwd(), "GNNGraphs")));
29-
Pkg.instantiate();'
30-
- name: Build GNNGraphs docs
26+
using Pkg
27+
pkg"dev ./GNNGraphs"
28+
Pkg.instantiate()
29+
include("GNNGraphs/docs/make.jl")'
3130
env:
3231
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # For authentication with GitHub Actions token
3332
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
34-
run: julia --project=GNNGraphs/docs/ GNNGraphs/docs/make.jl
3533

36-
# Build GNNlib docs
37-
- name: Install dependencies for GNNlib
38-
run: julia --project=GNNlib/docs/ -e 'using Pkg; Pkg.instantiate();'
3934
- name: Build GNNlib docs
35+
run: julia --project=GNNlib/docs/ -e '
36+
using Pkg
37+
pkg"dev ./GNNlib ./GNNGraphs"
38+
Pkg.instantiate()
39+
include("GNNlib/docs/make.jl")'
4040
env:
4141
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # For authentication with GitHub Actions token
4242
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
43-
run: julia --project=GNNlib/docs/ GNNlib/docs/make.jl
4443

45-
# Build GNNLux docs
46-
- name: Install dependencies for GNNLux
47-
run: julia --project=GNNLux/docs/ -e '
48-
using Pkg;
49-
Pkg.develop(PackageSpec(path=joinpath(pwd(), "GNNLux")));
50-
Pkg.instantiate();'
5144
- name: Build GNNLux docs
45+
run: julia --project=GNNLux/docs/ -e '
46+
using Pkg
47+
pkg"dev ./GNNLux ./GNNlib ./GNNGraphs"
48+
Pkg.instantiate()
49+
include("GNNLux/docs/make.jl")'
5250
env:
5351
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # For authentication with GitHub Actions token
5452
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
55-
run: julia --project=GNNLux/docs/ GNNLux/docs/make.jl
5653

57-
# Build GraphNeuralNetworks docs
58-
- name: Install dependencies for GraphNeuralNetworks
59-
run: julia --project=GraphNeuralNetworks/docs/ -e '
60-
using Pkg;
61-
Pkg.develop(PackageSpec(path=joinpath(pwd(), "GraphNeuralNetworks")));
62-
Pkg.instantiate();'
6354
- name: Build GraphNeuralNetworks docs
55+
run: julia --project=GraphNeuralNetworks/docs/ -e '
56+
using Pkg
57+
pkg"dev ./GraphNeuralNetworks ./GNNlib ./GNNGraphs"
58+
Pkg.instantiate()
59+
include("GraphNeuralNetworks/docs/make.jl")'
6460
env:
6561
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # For authentication with GitHub Actions token
6662
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
67-
run: julia --project=GraphNeuralNetworks/docs/ GraphNeuralNetworks/docs/make.jl
68-
69-
# Build multidocs
70-
- name: Install dependencies for main docs
71-
run: julia --project=GraphNeuralNetworks/docs/ -e '
72-
using Pkg;
73-
Pkg.develop(PackageSpec(path=joinpath(pwd(), "GraphNeuralNetworks")));
74-
Pkg.instantiate();'
75-
- name: Build main docs
76-
env:
77-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # For authentication with GitHub Actions token
78-
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
79-
run: julia --project=GraphNeuralNetworks/docs/make.jl
8063

8164
# Build tutorials
8265
- name: Install dependencies for tutorials
83-
run: julia --project=tutorials/docs/ -e 'using Pkg; Pkg.instantiate();'
84-
- name: Build tutorials
66+
run: julia --project=tutorials/docs/ -e '
67+
using Pkg
68+
pkg"dev ./GraphNeuralNetworks ./GNNlib ./GNNGraphs"
69+
Pkg.instantiate()
70+
include("tutorials/docs/make.jl")'
8571
env:
8672
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # For authentication with GitHub Actions token
8773
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
88-
run: julia --project=tutorials/docs/ tutorials/docs/make.jl
89-
74+
9075
# Build and deploy multidocs
9176
- name: Install dependencies for multidocs
9277
run: julia --project=docs/ -e '
9378
using Pkg;
94-
Pkg.develop([PackageSpec(path=joinpath(pwd(), "GraphNeuralNetworks")),
95-
PackageSpec(path=joinpath(pwd(), "GNNGraphs")),
96-
PackageSpec(path=joinpath(pwd(), "GNNlib")),
97-
PackageSpec(path=joinpath(pwd(), "GNNLux"))]);
79+
pkg"dev ./GraphNeuralNetworks ./GNNlib ./GNNGraphs ./GNNLux"
9880
Pkg.instantiate();'
9981
- name: Check if objects.inv exists for GraphNeuralNetworks
10082
run: |

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,6 @@ GNNGraphs/docs/build
1515
GNNlib/docs/build
1616
GNNLux/docs/build
1717
GraphNeuralNetworks/docs/build
18-
GraphNeuralNetworks/docs/src/other
18+
GraphNeuralNetworks/docs/src/GNNGraphs
19+
GraphNeuralNetworks/docs/src/GNNlib
1920
tutorials/docs/build

GNNlib/docs/src/api/utils.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ broadcast_edges
3131
softmax_edge_neighbors
3232
```
3333

34-
### NNlib
34+
### NNlib's gather and scatter functions
3535

36-
Primitive functions implemented in NNlib.jl:
36+
Primitive functions for message passing implemented in [NNlib.jl](https://fluxml.ai/NNlib.jl/stable/reference/#Gather-and-Scatter):
3737

3838
- [`gather!`](https://fluxml.ai/NNlib.jl/stable/reference/#NNlib.gather!)
3939
- [`gather`](https://fluxml.ai/NNlib.jl/stable/reference/#NNlib.gather)

GNNlib/docs/src/guides/messagepassing.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ manipulating arrays of size ``D_{node} \times num\_nodes`` and
2828
1. [`apply_edges`](@ref) materializes node features on edges and applies the message function.
2929
2. [`aggregate_neighbors`](@ref) applies a reduction operator on the messages coming from the neighborhood of each node.
3030

31-
The whole propagation mechanism internally relies on the [`NNlib.gather`](@ref)
32-
and [`NNlib.scatter`](@ref) methods.
31+
The whole propagation mechanism internally relies on the [`NNlib.gather`](@extref)
32+
and [`NNlib.scatter`](@extref) methods.
3333

3434

3535
## Examples
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
11
[deps]
22
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
33
DocumenterInterLinks = "d12716ef-a0f6-4df4-a9f1-a5a34e75c656"
4+
Flux = "587475ba-b771-5e3f-ad9e-33799f191a9c"
5+
GNNGraphs = "aed8fd31-079b-4b5a-b342-a13352159b8c"
6+
GNNlib = "a6a84749-d869-43f8-aacc-be26a1996e48"
47
GraphNeuralNetworks = "cffab07f-9bc2-4db1-8861-388f63bf7694"
8+
Graphs = "86223c79-3864-5bf0-83f7-82e725a168b6"
9+
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
10+
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
11+
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
12+
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"

GraphNeuralNetworks/docs/make.jl

Lines changed: 43 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,75 @@
11
using Documenter
22
using GraphNeuralNetworks
3+
using Flux, GNNGraphs, GNNlib, Graphs, NNlib
4+
# using GNNGraphs, GNNlib # no need to load since they are re-exported by GraphNeuralNetworks
35
using DocumenterInterLinks
46

7+
DocMeta.setdocmeta!(GraphNeuralNetworks, :DocTestSetup, :(using GraphNeuralNetworks); recursive = true)
8+
9+
mathengine = MathJax3(Dict(:loader => Dict("load" => ["[tex]/require", "[tex]/mathtools"]),
10+
:tex => Dict("inlineMath" => [["\$", "\$"], ["\\(", "\\)"]],
11+
"packages" => [
12+
"base",
13+
"ams",
14+
"autoload",
15+
"mathtools",
16+
"require"
17+
])))
518

6-
assets=[]
7-
prettyurls = get(ENV, "CI", nothing) == "true"
8-
mathengine = MathJax3()
919

1020
interlinks = InterLinks(
1121
"NNlib" => "https://fluxml.ai/NNlib.jl/stable/",
12-
"GNNGraphs" => ("https://carlolucibello.github.io/GraphNeuralNetworks.jl/GNNGraphs/", joinpath(dirname(dirname(@__DIR__)), "GNNGraphs", "docs", "build", "objects.inv")),
13-
"GNNlib" => ("https://carlolucibello.github.io/GraphNeuralNetworks.jl/GNNlib/", joinpath(dirname(dirname(@__DIR__)), "GNNlib", "docs", "build", "objects.inv"))
14-
22+
# "GNNGraphs" => ("https://carlolucibello.github.io/GraphNeuralNetworks.jl/GNNGraphs/", joinpath(dirname(dirname(@__DIR__)), "GNNGraphs", "docs", "build", "objects.inv")),
23+
# "GNNlib" => ("https://carlolucibello.github.io/GraphNeuralNetworks.jl/GNNlib/", joinpath(dirname(dirname(@__DIR__)), "GNNlib", "docs", "build", "objects.inv"))
1524
)
1625

17-
# Copy the guides from GNNGraphs and GNNlib
18-
dest_guides_dir = joinpath(@__DIR__, "src/other")
19-
gnngraphs_guides_dir = joinpath(@__DIR__, "../../GNNGraphs/docs/src/guides")
20-
gnnlib_guides_dir = joinpath(@__DIR__, "../../GNNlib/docs/src/guides")
21-
for file in readdir(gnngraphs_guides_dir)
22-
cp(joinpath(gnngraphs_guides_dir, file), joinpath(dest_guides_dir, file), force=true)
23-
end
24-
for file in readdir(gnnlib_guides_dir)
25-
cp(joinpath(gnnlib_guides_dir, file), joinpath(dest_guides_dir, file), force=true)
26-
end
26+
# Copy the docs from GNNGraphs and GNNlib. Will be removed at the end of the script
27+
cp(joinpath(@__DIR__, "../../GNNGraphs/docs/src"),
28+
joinpath(@__DIR__, "src/GNNGraphs"), force=true)
29+
cp(joinpath(@__DIR__, "../../GNNlib/docs/src"),
30+
joinpath(@__DIR__, "src/GNNlib"), force=true)
2731

2832
makedocs(;
29-
modules = [GraphNeuralNetworks],
33+
modules = [GraphNeuralNetworks, GNNGraphs, GNNlib],
3034
doctest = false, # TODO: enable doctest
31-
clean = true,
3235
plugins = [interlinks],
33-
format = Documenter.HTML(; mathengine, prettyurls, assets = assets, size_threshold=nothing),
36+
format = Documenter.HTML(; mathengine,
37+
prettyurls = get(ENV, "CI", nothing) == "true",
38+
assets = [],
39+
size_threshold=nothing,
40+
size_threshold_warn=200000),
3441
sitename = "GraphNeuralNetworks.jl",
3542
pages = [
3643

3744
"Home" => "index.md",
3845

3946
"Guides" => [
40-
"Graphs" => ["other/gnngraph.md", "other/heterograph.md", "other/temporalgraph.md"],
41-
"Message Passing" => "other/messagepassing.md",
47+
"Graphs" => ["GNNGraphs/guides/gnngraph.md",
48+
"GNNGraphs/guides/heterograph.md",
49+
"GNNGraphs/guides/temporalgraph.md"],
50+
"Message Passing" => "GNNlib/guides/messagepassing.md",
4251
"Models" => "guides/models.md",
43-
"Datasets" => "other/datasets.md",
52+
"Datasets" => "GNNGraphs/guides/datasets.md",
4453
],
4554

4655
"API Reference" => [
56+
"Message Passing" => "GNNlib/api/messagepassing.md",
57+
"Utils" => "GNNlib/api/utils.md",
4758
"Basic" => "api/basic.md",
4859
"Convolutional layers" => "api/conv.md",
4960
"Pooling layers" => "api/pool.md",
5061
"Temporal Convolutional layers" => "api/temporalconv.md",
5162
"Hetero Convolutional layers" => "api/heteroconv.md",
63+
5264
],
53-
"Developer guide" => "dev.md",
65+
66+
"Developer guide" => "dev.md",
5467
],
5568
)
56-
57-
deploydocs(;repo = "github.com/JuliaGraphs/GraphNeuralNetworks.jl.git", devbranch = "master", dirname= "GraphNeuralNetworks")
69+
70+
rm(joinpath(@__DIR__, "src/GNNGraphs"), force=true, recursive=true)
71+
rm(joinpath(@__DIR__, "src/GNNlib"), force=true, recursive=true)
72+
73+
deploydocs(repo = "github.com/JuliaGraphs/GraphNeuralNetworks.jl.git",
74+
devbranch = "master",
75+
dirname= "GraphNeuralNetworks")

GraphNeuralNetworks/docs/src/other/dummy.md

Whitespace-only changes.

0 commit comments

Comments
 (0)