Skip to content

Commit cc486bf

Browse files
authored
Merge pull request #199 from Saransh-cpp/docs
Migrate docs to `Documenter.jl`
2 parents 33c5257 + c3f0c60 commit cc486bf

21 files changed

+310
-151
lines changed

.github/workflows/CI.yml

+32
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,12 @@ on:
99
- master
1010
tags: '*'
1111

12+
concurrency:
13+
# Skip intermediate builds: always.
14+
# Cancel intermediate builds: only if it is a pull request build.
15+
group: ${{ github.workflow }}-${{ github.ref }}
16+
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
17+
1218
jobs:
1319
test:
1420
name: ${{ matrix.suite }} - Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}
@@ -93,3 +99,29 @@ jobs:
9399
- uses: codecov/codecov-action@v2
94100
with:
95101
file: lcov.info
102+
103+
docs:
104+
name: Documentation
105+
runs-on: ubuntu-latest
106+
steps:
107+
- uses: actions/checkout@v2
108+
- uses: julia-actions/setup-julia@v1
109+
with:
110+
version: '1.6'
111+
- run: |
112+
julia --project=docs -e '
113+
using Pkg
114+
Pkg.develop(PackageSpec(path=pwd()))
115+
Pkg.instantiate()'
116+
- run: |
117+
julia --color=yes --project=docs/ -e '
118+
using Metalhead
119+
# using Pkg; Pkg.activate("docs")
120+
using Documenter
121+
using Documenter: doctest
122+
DocMeta.setdocmeta!(Metalhead, :DocTestSetup, :(using Metalhead); recursive=true)
123+
doctest(Metalhead)'
124+
- run: julia --project=docs docs/make.jl
125+
env:
126+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
127+
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}

.github/workflows/Publish.yml

-33
This file was deleted.

.github/workflows/PublishStable.yml

-32
This file was deleted.

.github/workflows/clean_preview.yml

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# from https://github.com/CliMA/ClimaTimeSteppers.jl
2+
name: Doc Preview Cleanup
3+
4+
on:
5+
pull_request:
6+
types: [closed]
7+
8+
jobs:
9+
doc-preview-cleanup:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Checkout gh-pages branch
13+
uses: actions/checkout@v2
14+
with:
15+
ref: gh-pages
16+
- name: Delete preview and history + push changes
17+
run: |
18+
if [ -d "previews/PR$PRNUM" ]; then
19+
git config user.name "Documenter.jl"
20+
git config user.email "[email protected]"
21+
git rm -rf "previews/PR$PRNUM"
22+
git commit -m "delete preview"
23+
git branch gh-pages-new $(echo "delete history" | git commit-tree HEAD^{tree})
24+
git push --force origin gh-pages-new:gh-pages
25+
fi
26+
env:
27+
PRNUM: ${{ github.event.number }}

.github/workflows/pr_comment.yml

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
name: pr_comment
2+
on:
3+
pull_request:
4+
types: [labeled]
5+
jobs:
6+
pr_comment:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- name: Create PR comment
10+
if: github.event_name == 'pull_request' && github.repository == github.event.pull_request.head.repo.full_name && github.event.label.name == 'documentation' # if this is a pull request build AND the pull request is NOT made from a fork
11+
uses: thollander/actions-comment-pull-request@71efef56b184328c7ef1f213577c3a90edaa4aff
12+
with:
13+
message: 'Once the documentation build has completed, you can preview any updated documentation at this URL: https://fluxml.ai/Metalhead.jl/previews/PR${{ github.event.number }}/'
14+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

README.md

+26-26
Original file line numberDiff line numberDiff line change
@@ -9,36 +9,36 @@
99
## Installation
1010

1111
```julia
12-
]add Metalhead
12+
julia> ]add Metalhead
1313
```
1414

1515
## Available models
1616

17-
| Model Name | Function | Pre-trained? |
18-
|:-------------------------------------------------|:------------------------------------------------------------------------------------------|:------------:|
19-
| [VGG](https://arxiv.org/abs/1409.1556) | [`VGG`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.VGG.html) | Y (w/o BN) |
20-
| [ResNet](https://arxiv.org/abs/1512.03385) | [`ResNet`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.ResNet.html) | Y |
21-
| [WideResNet](https://arxiv.org/abs/1605.07146) | [`WideResNet`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.WideResNet.html) | Y |
22-
| [GoogLeNet](https://arxiv.org/abs/1409.4842) | [`GoogLeNet`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.GoogLeNet.html) | N |
23-
| [Inception-v3](https://arxiv.org/abs/1512.00567) | [`Inceptionv3`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.Inceptionv3.html) | N |
24-
| [Inception-v4](https://arxiv.org/abs/1602.07261) | [`Inceptionv4`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.Inceptionv4.html) | N |
25-
| [InceptionResNet-v2](https://arxiv.org/abs/1602.07261) | [`Inceptionv3`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.InceptionResNetv2.html) | N |
26-
| [SqueezeNet](https://arxiv.org/abs/1602.07360) | [`SqueezeNet`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.SqueezeNet.html) | Y |
27-
| [DenseNet](https://arxiv.org/abs/1608.06993) | [`DenseNet`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.DenseNet.html) | N |
28-
| [ResNeXt](https://arxiv.org/abs/1611.05431) | [`ResNeXt`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.ResNeXt.html) | Y |
29-
| [MobileNetv1](https://arxiv.org/abs/1704.04861) | [`MobileNetv1`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.MobileNetv1.html) | N |
30-
| [MobileNetv2](https://arxiv.org/abs/1801.04381) | [`MobileNetv2`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.MobileNetv2.html) | N |
31-
| [MobileNetv3](https://arxiv.org/abs/1905.02244) | [`MobileNetv3`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.MobileNetv3.html) | N |
32-
| [EfficientNet](https://arxiv.org/abs/1905.11946) | [`EfficientNet`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.EfficientNet.html) | N |
33-
| [MLPMixer](https://arxiv.org/pdf/2105.01601) | [`MLPMixer`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.MLPMixer.html) | N |
34-
| [ResMLP](https://arxiv.org/abs/2105.03404) | [`ResMLP`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.ResMLP.html) | N |
35-
| [gMLP](https://arxiv.org/abs/2105.08050) | [`gMLP`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.gMLP.html) | N |
36-
| [ViT](https://arxiv.org/abs/2010.11929) | [`ViT`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.ViT.html) | N |
37-
| [ConvNeXt](https://arxiv.org/abs/2201.03545) | [`ConvNeXt`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.ConvNeXt.html) | N |
38-
| [ConvMixer](https://arxiv.org/abs/2201.09792) | [`ConvMixer`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.ConvMixer.html) | N |
39-
40-
To contribute new models, see our [contributing docs](https://fluxml.ai/Metalhead.jl/dev/docs/dev-guide/contributing.html).
17+
| Model Name | Function | Pre-trained? |
18+
|:-------------------------------------------------|:-----------------------------------------------------------------------------------------------|:------------:|
19+
| [VGG](https://arxiv.org/abs/1409.1556) | [`VGG`](https://fluxml.ai/Metalhead.jl/stable/api/reference.html#Metalhead.VGG) | Y (w/o BN) |
20+
| [ResNet](https://arxiv.org/abs/1512.03385) | [`ResNet`](https://fluxml.ai/Metalhead.jl/stable/api/reference.html#Metalhead.ResNet) | Y |
21+
| [WideResNet](https://arxiv.org/abs/1605.07146) | [`WideResNet`](https://fluxml.ai/Metalhead.jl/stable/api/reference.html#Metalhead.WideResNet) | Y |
22+
| [GoogLeNet](https://arxiv.org/abs/1409.4842) | [`GoogLeNet`](https://fluxml.ai/Metalhead.jl/stable/api/reference.html#Metalhead.GoogLeNet) | N |
23+
| [Inception-v3](https://arxiv.org/abs/1512.00567) | [`Inceptionv3`](https://fluxml.ai/Metalhead.jl/stable/api/reference.html#Metalhead.Inceptionv3) | N |
24+
| [Inception-v4](https://arxiv.org/abs/1602.07261) | [`Inceptionv4`](https://fluxml.ai/Metalhead.jl/stable/api/reference.html#Metalhead.Inceptionv4) | N |
25+
| [InceptionResNet-v2](https://arxiv.org/abs/1602.07261) | [`Inceptionv3`](https://fluxml.ai/Metalhead.jl/stable/api/reference.html#Metalhead.InceptionResNetv2) | N |
26+
| [SqueezeNet](https://arxiv.org/abs/1602.07360) | [`SqueezeNet`](https://fluxml.ai/Metalhead.jl/stable/api/reference.html#Metalhead.SqueezeNet) | Y |
27+
| [DenseNet](https://arxiv.org/abs/1608.06993) | [`DenseNet`](https://fluxml.ai/Metalhead.jl/stable/api/reference.html#Metalhead.DenseNet) | N |
28+
| [ResNeXt](https://arxiv.org/abs/1611.05431) | [`ResNeXt`](https://fluxml.ai/Metalhead.jl/stable/api/reference.html#Metalhead.ResNeXt) | Y |
29+
| [MobileNetv1](https://arxiv.org/abs/1704.04861) | [`MobileNetv1`](https://fluxml.ai/Metalhead.jl/stable/api/reference.html#Metalhead.MobileNetv1) | N |
30+
| [MobileNetv2](https://arxiv.org/abs/1801.04381) | [`MobileNetv2`](https://fluxml.ai/Metalhead.jl/stable/api/reference.html#Metalhead.MobileNetv2) | N |
31+
| [MobileNetv3](https://arxiv.org/abs/1905.02244) | [`MobileNetv3`](https://fluxml.ai/Metalhead.jl/stable/api/reference.html#Metalhead.MobileNetv3) | N |
32+
| [EfficientNet](https://arxiv.org/abs/1905.11946) | [`EfficientNet`](https://fluxml.ai/Metalhead.jl/stable/api/reference.html#Metalhead.EfficientNet) | N |
33+
| [MLPMixer](https://arxiv.org/pdf/2105.01601) | [`MLPMixer`](https://fluxml.ai/Metalhead.jl/stable/api/reference.html#Metalhead.MLPMixer) | N |
34+
| [ResMLP](https://arxiv.org/abs/2105.03404) | [`ResMLP`](https://fluxml.ai/Metalhead.jl/stable/api/reference.html#Metalhead.ResMLP) | N |
35+
| [gMLP](https://arxiv.org/abs/2105.08050) | [`gMLP`](https://fluxml.ai/Metalhead.jl/stable/api/reference.html#Metalhead.gMLP) | N |
36+
| [ViT](https://arxiv.org/abs/2010.11929) | [`ViT`](https://fluxml.ai/Metalhead.jl/stable/api/reference.html#Metalhead.ViT) | N |
37+
| [ConvNeXt](https://arxiv.org/abs/2201.03545) | [`ConvNeXt`](https://fluxml.ai/Metalhead.jl/stable/api/reference.html#Metalhead.ConvNeXt) | N |
38+
| [ConvMixer](https://arxiv.org/abs/2201.09792) | [`ConvMixer`](https://fluxml.ai/Metalhead.jl/stable/api/reference.html#Metalhead.ConvMixer) | N |
39+
40+
To contribute new models, see our [contributing docs](https://fluxml.ai/Metalhead.jl/latest/contributing/).
4141

4242
## Getting Started
4343

44-
You can find the Metalhead.jl getting started guide [here](https://fluxml.ai/Metalhead.jl/dev/docs/tutorials/quickstart.html).
44+
You can find the Metalhead.jl getting started guide [here](https://fluxml.ai/Metalhead.jl/latest/tutorials/quickstart/).

docs/.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
build/
2+
site/

docs/Project.toml

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
[deps]
2+
Artifacts = "56f22d72-fd6d-98f1-02f0-08ddc0907c33"
23
DataAugmentation = "88a5189c-e7ff-4f85-ac6b-e6158070f02e"
4+
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
35
Flux = "587475ba-b771-5e3f-ad9e-33799f191a9c"
46
Images = "916415d5-f1e6-5110-898d-aaa5f9f070e0"
5-
Metalhead = "dbeba491-748d-5e0e-a39e-b530a07fa0cc"
6-
Publish = "f065f642-d108-4f50-8aa5-6749150a895a"
7+
LazyArtifacts = "4af54fe1-eca0-43a8-85a7-787d91b784e3"
8+
OneHotArrays = "0b1bfda6-eb8a-41d2-88d8-f5af5cad476f"

docs/make.jl

+23-14
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,26 @@
1-
using Pkg
1+
using Documenter, Metalhead, Artifacts, LazyArtifacts, Images, OneHotArrays, DataAugmentation, Flux
22

3-
Pkg.develop(; path = "..")
3+
DocMeta.setdocmeta!(Metalhead, :DocTestSetup, :(using Metalhead); recursive = true)
44

5-
using Publish
6-
using Artifacts, LazyArtifacts
7-
using Metalhead
5+
makedocs(modules = [Metalhead, Artifacts, LazyArtifacts, Images, OneHotArrays, DataAugmentation, Flux],
6+
sitename = "Metalhead.jl",
7+
doctest = false,
8+
pages = ["Home" => "index.md",
9+
"Tutorials" => [
10+
"tutorials/quickstart.md",
11+
],
12+
"Developer guide" => "contributing.md",
13+
"API reference" => [
14+
"api/reference.md",
15+
],
16+
],
17+
format = Documenter.HTML(
18+
canonical = "https://fluxml.ai/Metalhead.jl/stable/",
19+
# analytics = "UA-36890222-9",
20+
assets = ["assets/flux.css"],
21+
prettyurls = get(ENV, "CI", nothing) == "true"),
22+
)
823

9-
# override default theme
10-
cp(artifact"flux-theme", "../_flux-theme"; force = true)
11-
12-
p = Publish.Project(Metalhead)
13-
14-
function build_and_deploy(label)
15-
rm(label; recursive = true, force = true)
16-
return deploy(Metalhead; root = "/Metalhead.jl", label = label)
17-
end
24+
deploydocs(repo = "github.com/FluxML/Metalhead.jl.git",
25+
target = "build",
26+
push_preview = true)

docs/serve.jl

-17
This file was deleted.

docs/src/api/reference.md

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# API Reference
2+
3+
The API reference of `Metalhead.jl`.
4+
5+
**Note**: This page is still in progress.
6+
7+
```@autodocs
8+
Modules = [Metalhead]
9+
```
10+
11+
```@docs
12+
Metalhead.create_classifier
13+
Metalhead.squeeze_excite
14+
Metalhead.LayerScale
15+
Metalhead.DropBlock
16+
Metalhead.StochasticDepth
17+
```

0 commit comments

Comments
 (0)