| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| all: html |
| |
| # markdown files that will not be evaluated, simply copy to build/ |
| PURE_MARKDOWN = ./README.md |
| # markdown files that will be evaluated and then saved as ipynb files |
| IPYNB_MARKDOWN = $(shell find . -not -path "./build/*" -not -path "*.ipynb_checkpoints*" -name "*.md" | sort -h) |
| # RST files will be simply coped to build/ |
| RST = $(shell find . -not -path "./build/*" -not -path "*.ipynb_checkpoints*" -name "*.rst") |
| |
| OBJ = $(patsubst %.rst, build/%.rst, $(RST)) \ |
| $(patsubst %.md, build/%.ipynb, \ |
| $(filter-out $(PURE_MARKDOWN), $(IPYNB_MARKDOWN))) |
| |
| build/%.ipynb: %.md |
| @mkdir -p $(@D) |
| python3 scripts/md2ipynb.py $< $@ |
| |
| |
| build/%.rst: %.rst |
| @mkdir -p $(@D) |
| # python3 scripts/process_rst.py $< $@ |
| cp $< $@ |
| |
| build/%: % |
| @mkdir -p $(@D) |
| @cp -r $< $@ |
| |
| linkcheck: $(OBJ) |
| mkdir -p build; |
| cp Makefile_sphinx build/Makefile; |
| cp -n -r ../_static build/ || true; |
| sphinx-autogen build/api/*.rst build/api/**/*.rst -t build/_templates/; |
| make -C build linkcheck; |
| |
| html: $(OBJ) |
| mkdir -p build; |
| cp Makefile_sphinx build/Makefile; |
| cp -n -r ../_static build/ || true; |
| sphinx-autogen build/api/*.rst build/api/**/*.rst -t build/_templates/; |
| # make -C build linkcheck doctest html |
| make -C build html; |
| sed -i.bak 's/33\,150\,243/23\,141\,201/g' build/_build/html/_static/material-design-lite-1.3.0/material.blue-deep_orange.min.css; |
| make update_github_link |
| |
| update_github_link: |
| for f in $(shell find build/_build/html/tutorials -type f -name '*.html'); do \ |
| echo "Updating github edit link for $$f."; \ |
| sed -i.bak 's/\(href="https:\/\/github.com\/apache\/mxnet\/edit\/master\/docs\/python_docs\/python\/tutorials\/[^"]*\).ipynb"/\1.md"/g' $$f; \ |
| done; |
| |
| clean: |
| rm -rf build |