aboutsummaryrefslogtreecommitdiffhomepage
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile56
1 files changed, 16 insertions, 40 deletions
diff --git a/Makefile b/Makefile
index 1d8a73a2..6483fca7 100644
--- a/Makefile
+++ b/Makefile
@@ -155,19 +155,22 @@ release_archive: release_tar release_zip
155 155
156### download 3rd-party PHP libraries 156### download 3rd-party PHP libraries
157composer_dependencies: clean 157composer_dependencies: clean
158 composer update --no-dev 158 composer install --no-dev --prefer-dist
159 find vendor/ -name ".git" -type d -exec rm -rf {} + 159 find vendor/ -name ".git" -type d -exec rm -rf {} +
160 160
161### generate a release tarball and include 3rd-party dependencies 161### generate a release tarball and include 3rd-party dependencies
162release_tar: composer_dependencies 162release_tar: composer_dependencies doc_html
163 git archive --prefix=$(ARCHIVE_PREFIX) -o $(ARCHIVE_VERSION).tar HEAD 163 git archive --prefix=$(ARCHIVE_PREFIX) -o $(ARCHIVE_VERSION).tar HEAD
164 tar rvf $(ARCHIVE_VERSION).tar --transform "s|^vendor|$(ARCHIVE_PREFIX)vendor|" vendor/ 164 tar rvf $(ARCHIVE_VERSION).tar --transform "s|^vendor|$(ARCHIVE_PREFIX)vendor|" vendor/
165 tar rvf $(ARCHIVE_VERSION).tar --transform "s|^doc/html|$(ARCHIVE_PREFIX)doc/html|" doc/html/
165 gzip $(ARCHIVE_VERSION).tar 166 gzip $(ARCHIVE_VERSION).tar
166 167
167### generate a release zip and include 3rd-party dependencies 168### generate a release zip and include 3rd-party dependencies
168release_zip: composer_dependencies 169release_zip: composer_dependencies doc_html
169 git archive --prefix=$(ARCHIVE_PREFIX) -o $(ARCHIVE_VERSION).zip -9 HEAD 170 git archive --prefix=$(ARCHIVE_PREFIX) -o $(ARCHIVE_VERSION).zip -9 HEAD
170 mkdir $(ARCHIVE_PREFIX) 171 mkdir -p $(ARCHIVE_PREFIX)/{doc,vendor}
172 rsync -a doc/html/ $(ARCHIVE_PREFIX)doc/html/
173 zip -r $(ARCHIVE_VERSION).zip $(ARCHIVE_PREFIX)doc/
171 rsync -a vendor/ $(ARCHIVE_PREFIX)vendor/ 174 rsync -a vendor/ $(ARCHIVE_PREFIX)vendor/
172 zip -r $(ARCHIVE_VERSION).zip $(ARCHIVE_PREFIX)vendor/ 175 zip -r $(ARCHIVE_VERSION).zip $(ARCHIVE_PREFIX)vendor/
173 rm -rf $(ARCHIVE_PREFIX) 176 rm -rf $(ARCHIVE_PREFIX)
@@ -192,44 +195,17 @@ doxygen: clean
192 @rm -rf doxygen 195 @rm -rf doxygen
193 @( cat Doxyfile ; echo "PROJECT_NUMBER=`git describe`" ) | doxygen - 196 @( cat Doxyfile ; echo "PROJECT_NUMBER=`git describe`" ) | doxygen -
194 197
195### update the local copy of the documentation
196doc: clean
197 @rm -rf doc
198 @git clone https://github.com/shaarli/Shaarli.wiki.git doc
199 @rm -rf doc/.git
200
201### Generate a custom sidebar
202#
203# Sidebar content:
204# - convert GitHub-flavoured relative links to standard Markdown
205# - trim HTML, only keep the list (<ul>[...]</ul>) part
206htmlsidebar:
207 @echo '<div id="local-sidebar">' > doc/sidebar.html
208 @awk 'BEGIN { FS = "[\\[\\]]{2}" }'\
209 'm = /\[/ { t=$$2; gsub(/ /, "-", $$2); print $$1"["t"]("$$2".html)"$$3 }'\
210 '!m { print $$0 }' doc/_Sidebar.md > doc/tmp.md
211 @pandoc -f markdown -t html5 -s doc/tmp.md | awk '/(ul>|li>)/' >> doc/sidebar.html
212 @echo '</div>' >> doc/sidebar.html
213 @rm doc/tmp.md
214
215### Convert local markdown documentation to HTML 198### Convert local markdown documentation to HTML
216# 199#
217# For all pages: 200# For all pages:
218# - infer title from the file name
219# - convert GitHub-flavoured relative links to standard Markdown 201# - convert GitHub-flavoured relative links to standard Markdown
220# - insert the sidebar menu 202# - generate html documentation with mkdocs
221htmlpages: 203htmlpages:
222 @for file in `find doc/ -maxdepth 1 -name "*.md"`; do \ 204 python3 -m venv venv/
223 base=`basename $$file .md`; \ 205 bash -c 'source venv/bin/activate; \
224 sed -i "1i #$${base//-/ }" $$file; \ 206 pip install mkdocs; \
225 awk 'BEGIN { FS = "[\\[\\]]{2}" }'\ 207 mkdocs build'
226 'm = /\[/ { t=$$2; gsub(/ /, "-", $$2); print $$1"["t"]("$$2".html)"$$3 }'\ 208 find doc/html/ -type f -exec chmod a-x '{}' \;
227 '!m { print $$0 }' $$file > doc/tmp.md; \ 209 rm -r venv
228 mv doc/tmp.md $$file; \ 210
229 pandoc -f markdown_github -t html5 -s \ 211doc_html: authors htmlpages
230 -c "github-markdown.css" \
231 -T Shaarli -M pagetitle:"$${base//-/ }" -B doc/sidebar.html \
232 -o doc/$$base.html $$file; \
233 done;
234
235htmldoc: authors doc htmlsidebar htmlpages