mirror of
https://github.com/priyanshujain/sanderling.git
synced 2026-10-02 19:17:10 +00:00
build(docs): output pages as pagename/index.html for clean URLs
Split DOCS_OUT into INDEX_OUT (index.md files stay as index.html) and PAGE_OUT (all other pages become pagename/index.html). The __ROOT__ depth computation already handles the extra directory level correctly.
This commit is contained in:
1 parent
b678e18863
commit
b209fc9e5a
1 file changed
+14
-3
@@ -11,8 +11,12 @@ SIDECAR_EMBED := internal/sidecar/assets/sidecar-all.jar
|
||||
SDK_AAR := sdk/android/build/outputs/aar/sdk-android-release.aar
|
||||
SANDERLING_BIN := bin/sanderling
|
||||
|
||||
DOCS_SRC := $(shell find docs -type f -name '*.md' -not -path 'docs/_*')
|
||||
DOCS_OUT := $(patsubst docs/%.md,build/site/%.html,$(DOCS_SRC))
|
||||
DOCS_SRC := $(shell find docs -type f -name '*.md' -not -path 'docs/_*')
|
||||
INDEX_SRC := $(filter %index.md,$(DOCS_SRC))
|
||||
PAGE_SRC := $(filter-out %index.md,$(DOCS_SRC))
|
||||
INDEX_OUT := $(patsubst docs/%.md,build/site/%.html,$(INDEX_SRC))
|
||||
PAGE_OUT := $(patsubst docs/%.md,build/site/%/index.html,$(PAGE_SRC))
|
||||
DOCS_OUT := $(INDEX_OUT) $(PAGE_OUT)
|
||||
DOCS_TEMPLATE := docs/_template/page.html
|
||||
|
||||
INSPECT_DIST := internal/inspect/dist
|
||||
@@ -90,12 +94,19 @@ build/site/_assets: docs/_assets
|
||||
@rm -rf $@
|
||||
@cp -R $< $@
|
||||
|
||||
build/site/%.html: docs/%.md $(DOCS_TEMPLATE)
|
||||
define build_page
|
||||
@mkdir -p $(dir $@)
|
||||
@pandoc $< --from=gfm --to=html5 --standalone \
|
||||
--highlight-style=tango --template=$(DOCS_TEMPLATE) -o $@
|
||||
@rel=$$(echo $(patsubst build/site/%,%,$@) | awk -F/ '{for(i=1;i<NF;i++)printf "../"}'); \
|
||||
sed -i.bak "s|__ROOT__|$$rel|g" $@ && rm $@.bak
|
||||
endef
|
||||
|
||||
$(INDEX_OUT): build/site/%.html: docs/%.md $(DOCS_TEMPLATE)
|
||||
$(build_page)
|
||||
|
||||
$(PAGE_OUT): build/site/%/index.html: docs/%.md $(DOCS_TEMPLATE)
|
||||
$(build_page)
|
||||
|
||||
clean:
|
||||
$(GO) clean
|
||||
|
||||
Reference in new issue
Block a user