From 22e41b5a488a0ddc29c21a0f021fe64c156ccbaf Mon Sep 17 00:00:00 2001 From: WRH <12756472+wangruohui@users.noreply.github.com> Date: Mon, 7 Mar 2022 21:41:10 +0800 Subject: [PATCH] [Docs] Update doc build system (#769) * stash * cleanup * use relpath for dataset.md and modelzoo.md * basename for reference --- .gitignore | 4 +++ docs/en/conf.py | 4 +-- docs/en/index.rst | 24 ++++++++-------- docs/en/merge_docs.sh | 67 +++++++++++++++++++++++++------------------ docs/en/stat.py | 13 +++++---- 5 files changed, 64 insertions(+), 48 deletions(-) diff --git a/.gitignore b/.gitignore index e9e3b93b21..b0ac8bd358 100644 --- a/.gitignore +++ b/.gitignore @@ -66,7 +66,9 @@ instance/ # Sphinx documentation docs/en/_build/ +docs/en/_tmp/ docs/zh_cn/_build/ +docs/zh_cn/_tmp/ # PyBuilder target/ @@ -128,4 +130,6 @@ mmedit/.mim # Pytorch Server *.mar + +# MacOS .DS_Store diff --git a/docs/en/conf.py b/docs/en/conf.py index c2b63d3a21..6297f01608 100644 --- a/docs/en/conf.py +++ b/docs/en/conf.py @@ -97,8 +97,8 @@ def builder_inited_handler(app): - subprocess.run(['./merge_docs.sh']) - subprocess.run(['./stat.py']) + subprocess.run(['bash', './merge_docs.sh']) + subprocess.run(['python', './stat.py']) def setup(app): diff --git a/docs/en/index.rst b/docs/en/index.rst index 37f10c235c..ef89f9e79c 100644 --- a/docs/en/index.rst +++ b/docs/en/index.rst @@ -14,22 +14,22 @@ You can switch between Chinese and English documents in the bottom-left corner o :maxdepth: 2 :caption: Model Zoo - modelzoo.md - inpainting_models.md - mattors_models.md - restorers_models.md - synthesizers_models.md - video_interpolators_models.md + _tmp/modelzoo.md + _tmp/inpainting_models.md + _tmp/mattors_models.md + _tmp/restorers_models.md + _tmp/synthesizers_models.md + _tmp/video_interpolators_models.md .. toctree:: :maxdepth: 2 :caption: Datasets - datasets.md - inpainting_datasets.md - matting_datasets.md - sr_datasets.md - generation_datasets.md + _tmp/datasets.md + _tmp/inpainting_datasets.md + _tmp/matting_datasets.md + _tmp/sr_datasets.md + _tmp/generation_datasets.md .. toctree:: :maxdepth: 2 @@ -42,7 +42,7 @@ You can switch between Chinese and English documents in the bottom-left corner o :maxdepth: 2 :caption: Tutorials - config.md + _tmp/config.md .. toctree:: :maxdepth: 2 diff --git a/docs/en/merge_docs.sh b/docs/en/merge_docs.sh index 127f6b56cb..fa9eea984e 100755 --- a/docs/en/merge_docs.sh +++ b/docs/en/merge_docs.sh @@ -1,36 +1,47 @@ #!/usr/bin/env bash -sed -i '$a\\n

\n' ../../configs/inpainting/*/README.md -sed -i '$a\\n

\n' ../../configs/mattors/*/README.md -sed -i '$a\\n

\n' ../../configs/restorers/*/README.md -sed -i '$a\\n

\n' ../../configs/synthesizers/*/README.md +mkdir -p _tmp +rm -r _tmp/* +cp -r ../../configs/ _tmp/ +find _tmp/configs -name README_zh-CN.md | xargs rm + +sed -i '$a\\n

\n' _tmp/configs/inpainting/*/README.md +sed -i '$a\\n

\n' _tmp/configs/mattors/*/README.md +sed -i '$a\\n

\n' _tmp/configs/restorers/*/README.md +sed -i '$a\\n

\n' _tmp/configs/synthesizers/*/README.md +sed -i '$a\\n

\n' _tmp/configs/video_interpolators/*/README.md # gather models -cat ../../configs/inpainting/*/README.md | sed "s/md###t/html#t/g" | sed "s/#/#&/" | sed '1i\# Inpainting Models' | sed 's/](\/docs\//](/g' | sed 's=](/=](https://github.com/open-mmlab/mmediting/tree/master/=g' >inpainting_models.md -cat ../../configs/mattors/*/README.md | sed "s/md###t/html#t/g" | sed "s/#/#&/" | sed '1i\# Matting Models' | sed 's/](\/docs\//](/g' | sed 's=](/=](https://github.com/open-mmlab/mmediting/tree/master/=g' >mattors_models.md -cat ../../configs/restorers/*/README.md | sed "s/md###t/html#t/g" | sed "s/#/#&/" | sed '1i\# Super-Resolution Models' | sed 's/](\/docs\//](/g' | sed 's=](/=](https://github.com/open-mmlab/mmediting/tree/master/=g' >restorers_models.md -cat ../../configs/synthesizers/*/README.md | sed "s/md###t/html#t/g" | sed "s/#/#&/" | sed '1i\# Generation Models' | sed 's/](\/docs\//](/g' | sed 's=](/=](https://github.com/open-mmlab/mmediting/tree/master/=g' >synthesizers_models.md +cat ../../configs/inpainting/*/README.md | sed "s/md###t/html#t/g" | sed "s/#/#&/" | sed '1i\# Inpainting Models' | sed 's/](\/docs\//](/g' | sed 's=](/=](https://github.com/open-mmlab/mmediting/tree/master/=g' > _tmp/inpainting_models.md +cat ../../configs/mattors/*/README.md | sed "s/md###t/html#t/g" | sed "s/#/#&/" | sed '1i\# Matting Models' | sed 's/](\/docs\//](/g' | sed 's=](/=](https://github.com/open-mmlab/mmediting/tree/master/=g' > _tmp/mattors_models.md +cat ../../configs/restorers/*/README.md | sed "s/md###t/html#t/g" | sed "s/#/#&/" | sed '1i\# Super-Resolution Models' | sed 's/](\/docs\//](/g' | sed 's=](/=](https://github.com/open-mmlab/mmediting/tree/master/=g' > _tmp/restorers_models.md +cat ../../configs/synthesizers/*/README.md | sed "s/md###t/html#t/g" | sed "s/#/#&/" | sed '1i\# Generation Models' | sed 's/](\/docs\//](/g' | sed 's=](/=](https://github.com/open-mmlab/mmediting/tree/master/=g' > _tmp/synthesizers_models.md +cat ../../configs/video_interpolators/*/README.md | sed "s/md###t/html#t/g" | sed "s/#/#&/" | sed '1i\# Frame-Interpolation Models' | sed 's/](\/docs\//](/g' | sed 's=](/=](https://github.com/open-mmlab/mmediting/tree/master/=g' > _tmp/video_interpolators_models.md # gather datasets -cat ../../tools/data/generation/README.md > generation_datasets.md -cat ../../tools/data/inpainting/README.md > inpainting_datasets.md -cat ../../tools/data/matting/README.md > matting_datasets.md -cat ../../tools/data/super-resolution/README.md > sr_datasets.md - -sed -i 's=(paired-pix2pix/README.md)=(#paired-dataset-for-pix2pix)=g' generation_datasets.md -sed -i 's=(unpaired-cyclegan/README.md)=(#unpaired-dataset-for-cyclegan)=g' generation_datasets.md -sed -i 's=(paris-street-view/README.md)=(#paris-street-view-dataset)=g' inpainting_datasets.md -sed -i 's=(celeba-hq/README.md)=(#celeba-hq-dataset)=g' inpainting_datasets.md -sed -i 's=(places365/README.md)=(#places365-dataset)=g' inpainting_datasets.md -sed -i 's=(comp1k/README.md)=(#composition-1k-dataset)=g' matting_datasets.md -sed -i 's=(div2k/README.md)=(#div2k-dataset)=g' sr_datasets.md -sed -i 's=(reds/README.md)=(#reds-dataset)=g' sr_datasets.md -sed -i 's=(vimeo90k/README.md)=(#vimeo90k-dataset)=g' sr_datasets.md - -cat ../../tools/data/generation/*/README.md | sed 's/# Preparing/# /g' | sed "s/#/#&/" | sed 's/](\/docs\//](/g' | sed 's=](/=](https://github.com/open-mmlab/mmediting/tree/master/=g' >> generation_datasets.md -cat ../../tools/data/inpainting/*/README.md | sed 's/# Preparing/# /g' | sed "s/#/#&/" | sed 's/](\/docs\//](/g' | sed 's=](/=](https://github.com/open-mmlab/mmediting/tree/master/=g' >> inpainting_datasets.md -cat ../../tools/data/matting/*/README.md | sed 's/# Preparing/# /g' | sed "s/#/#&/" | sed 's/](\/docs\//](/g' | sed 's=](/=](https://github.com/open-mmlab/mmediting/tree/master/=g' >> matting_datasets.md -cat ../../tools/data/super-resolution/*/README.md | sed 's/# Preparing/# /g' | sed "s/#/#&/" | sed 's/](\/docs\//](/g' | sed 's=](/=](https://github.com/open-mmlab/mmediting/tree/master/=g' >> sr_datasets.md +cat ../../tools/data/generation/README.md > _tmp/generation_datasets.md +cat ../../tools/data/inpainting/README.md > _tmp/inpainting_datasets.md +cat ../../tools/data/matting/README.md > _tmp/matting_datasets.md +cat ../../tools/data/super-resolution/README.md > _tmp/sr_datasets.md + +sed -i 's=(paired-pix2pix/README.md)=(#paired-dataset-for-pix2pix)=g' _tmp/generation_datasets.md +sed -i 's=(unpaired-cyclegan/README.md)=(#unpaired-dataset-for-cyclegan)=g' _tmp/generation_datasets.md +sed -i 's=(paris-street-view/README.md)=(#paris-street-view-dataset)=g' _tmp/inpainting_datasets.md +sed -i 's=(celeba-hq/README.md)=(#celeba-hq-dataset)=g' _tmp/inpainting_datasets.md +sed -i 's=(places365/README.md)=(#places365-dataset)=g' _tmp/inpainting_datasets.md +sed -i 's=(comp1k/README.md)=(#composition-1k-dataset)=g' _tmp/matting_datasets.md +sed -i 's=(div2k/README.md)=(#div2k-dataset)=g' _tmp/sr_datasets.md +sed -i 's=(reds/README.md)=(#reds-dataset)=g' _tmp/sr_datasets.md +sed -i 's=(vimeo90k/README.md)=(#vimeo90k-dataset)=g' _tmp/sr_datasets.md + +cat ../../tools/data/generation/*/README.md | sed 's/# Preparing/# /g' | sed "s/#/#&/" | sed 's/](\/docs\//](/g' | sed 's=](/=](https://github.com/open-mmlab/mmediting/tree/master/=g' >> _tmp/generation_datasets.md +cat ../../tools/data/inpainting/*/README.md | sed 's/# Preparing/# /g' | sed "s/#/#&/" | sed 's/](\/docs\//](/g' | sed 's=](/=](https://github.com/open-mmlab/mmediting/tree/master/=g' >> _tmp/inpainting_datasets.md +cat ../../tools/data/matting/*/README.md | sed 's/# Preparing/# /g' | sed "s/#/#&/" | sed 's/](\/docs\//](/g' | sed 's=](/=](https://github.com/open-mmlab/mmediting/tree/master/=g' >> _tmp/matting_datasets.md +cat ../../tools/data/super-resolution/*/README.md | sed 's/# Preparing/# /g' | sed "s/#/#&/" | sed 's/](\/docs\//](/g' | sed 's=](/=](https://github.com/open-mmlab/mmediting/tree/master/=g' >> _tmp/sr_datasets.md # merge configs -cat configs/config_*.md | sed "s/#/#&/" >> config.md +cp config.md _tmp/ +cat configs/config_*.md | sed "s/#/#&/" >> _tmp/config.md + +# clean +rm -r _tmp/configs diff --git a/docs/en/stat.py b/docs/en/stat.py index 24cbd9efcc..bb375eedc8 100755 --- a/docs/en/stat.py +++ b/docs/en/stat.py @@ -1,5 +1,6 @@ #!/usr/bin/env python # Copyright (c) OpenMMLab. All rights reserved. + import functools as func import glob import re @@ -17,7 +18,7 @@ def anchor(name): # Count algorithms -files = sorted(glob.glob('*_models.md')) +files = sorted(glob.glob('_tmp/*_models.md')) # files = sorted(glob.glob('docs/*_models.md')) stats = [] @@ -59,7 +60,7 @@ def anchor(name): if 'mmedit' in x) statsmsg = f""" -## [{title}]({f}) +## [{title}]({basename(f)}) * Number of checkpoints: {len(ckpts)} * Number of configs: {len(configs)} @@ -96,12 +97,12 @@ def anchor(name): """ -with open('modelzoo.md', 'w') as f: +with open('_tmp/modelzoo.md', 'w') as f: f.write(modelzoo) # Count datasets -files = sorted(glob.glob('*_datasets.md')) +files = sorted(glob.glob('_tmp/*_datasets.md')) datastats = [] @@ -142,7 +143,7 @@ def anchor(name): if 'mmedit' in x) statsmsg = f""" -## [{title}]({f}) +## [{title}]({basename(f)}) * Number of papers: {len(papers)} {paperlist} @@ -174,5 +175,5 @@ def anchor(name): {datamsglist} """ -with open('datasets.md', 'w') as f: +with open('_tmp/datasets.md', 'w') as f: f.write(modelzoo)