# keep itermediate files
.SECONDARY:
-pythondir = $(pyexecdir)
+pythondir = $(prefix)/lib/python3/dist-packages
configsdir = $(sysconfdir)/ipfire.org
crondir = $(sysconfdir)/cron.d
src/backend/accounts.py \
src/backend/base.py \
src/backend/blog.py \
+ src/backend/campaigns.py \
src/backend/countries.py \
src/backend/database.py \
src/backend/decorators.py \
src/backend/fireinfo.py \
src/backend/geoip.py \
+ src/backend/hwdata.py \
src/backend/iuse.py \
+ src/backend/memcached.py \
+ src/backend/messages.py \
src/backend/mirrors.py \
src/backend/misc.py \
src/backend/netboot.py \
src/backend/nopaste.py \
+ src/backend/ratelimit.py \
src/backend/releases.py \
src/backend/settings.py \
src/backend/talk.py \
- src/backend/tracker.py \
+ src/backend/tweets.py \
src/backend/util.py \
+ src/backend/wiki.py \
src/backend/zeiterfassung.py
backenddir = $(pythondir)/ipfire
src/web/base.py \
src/web/blog.py \
src/web/boot.py \
+ src/web/donate.py \
src/web/download.py \
+ src/web/fireinfo.py \
src/web/handlers.py \
- src/web/handlers_fireinfo.py \
src/web/iuse.py \
src/web/location.py \
src/web/mirrors.py \
src/web/newsletter.py \
src/web/nopaste.py \
src/web/people.py \
- src/web/ui_modules.py
+ src/web/ui_modules.py \
+ src/web/wiki.py
webdir = $(backenddir)/web
templates_DATA = \
src/templates/base.html \
- src/templates/donate.html \
src/templates/error.html \
src/templates/index.html
templatesdir = $(datadir)/templates
templates_auth_DATA = \
- src/templates/auth/login.html
+ src/templates/auth/activate.html \
+ src/templates/auth/activated.html \
+ src/templates/auth/login.html \
+ src/templates/auth/password-reset.html \
+ src/templates/auth/password-reset-initiation.html \
+ src/templates/auth/password-reset-successful.html \
+ src/templates/auth/register.html \
+ src/templates/auth/register-spam.html \
+ src/templates/auth/register-success.html
templates_authdir = $(templatesdir)/auth
+templates_auth_messages_DATA = \
+ src/templates/auth/messages/donation-reminder.html \
+ src/templates/auth/messages/donation-reminder.txt \
+ src/templates/auth/messages/password-reset.html \
+ src/templates/auth/messages/password-reset.txt \
+ src/templates/auth/messages/profile-setup.html \
+ src/templates/auth/messages/profile-setup.txt \
+ src/templates/auth/messages/profile-setup-2.html \
+ src/templates/auth/messages/profile-setup-2.txt \
+ src/templates/auth/messages/register.html \
+ src/templates/auth/messages/register.txt
+
+templates_auth_messagesdir = $(templates_authdir)/messages
+
templates_blog_DATA = \
src/templates/blog/author.html \
src/templates/blog/base.html \
templates_blog_modulesdir = $(templates_blogdir)/modules
+templates_donate_DATA = \
+ src/templates/donate/donate.html \
+ src/templates/donate/error.html \
+ src/templates/donate/thank-you.html
+
+templates_donatedir = $(templatesdir)/donate
+
+templates_donate_messages_DATA = \
+ src/templates/donate/messages/ask-again.html \
+ src/templates/donate/messages/ask-again.txt \
+ src/templates/donate/messages/christmas-1.html \
+ src/templates/donate/messages/christmas-1.txt \
+ src/templates/donate/messages/christmas-2.html \
+ src/templates/donate/messages/christmas-2.txt \
+ src/templates/donate/messages/christmas-3.html \
+ src/templates/donate/messages/christmas-3.txt \
+ src/templates/donate/messages/christmas-4.html \
+ src/templates/donate/messages/christmas-4.txt \
+ src/templates/donate/messages/christmas-5.html \
+ src/templates/donate/messages/christmas-5.txt \
+ src/templates/donate/messages/convert-to-monthly.html \
+ src/templates/donate/messages/convert-to-monthly.txt
+
+templates_donate_messagesdir = $(templates_donatedir)/messages
+
templates_download_DATA = \
src/templates/download/release.html
templates_downloaddir = $(templatesdir)/download
templates_fireinfo_DATA = \
- src/templates/fireinfo/i-use-1.png
+ src/templates/fireinfo/driver.html \
+ src/templates/fireinfo/index.html \
+ src/templates/fireinfo/i-use-1.png \
+ src/templates/fireinfo/processors.html \
+ src/templates/fireinfo/profile.html \
+ src/templates/fireinfo/releases.html \
+ src/templates/fireinfo/vendor.html \
+ src/templates/fireinfo/vendors.html
templates_fireinfodir = $(templatesdir)/fireinfo
+templates_fireinfo_modules_DATA = \
+ src/templates/fireinfo/modules/table-devices-and-groups.html \
+ src/templates/fireinfo/modules/table-devices.html
+
+templates_fireinfo_modulesdir = $(templates_fireinfodir)/modules
+
templates_location_DATA = \
+ src/templates/location/base.html \
+ src/templates/location/blacklists.html \
+ src/templates/location/how-to-use.html \
+ src/templates/location/index.html \
src/templates/location/lookup.html
templates_locationdir = $(templatesdir)/location
+templates_messages_DATA = \
+ src/templates/messages/base.html \
+ src/templates/messages/base-promo.html \
+ src/templates/messages/main.css
+
+templates_messagesdir = $(templatesdir)/messages
+
templates_mirrors_DATA = \
src/templates/mirrors/index.html \
src/templates/mirrors/mirror.html
templates_mirrorsdir = $(templatesdir)/mirrors
templates_modules_DATA = \
- src/templates/modules/map.html
+ src/templates/modules/christmas-banner.html \
+ src/templates/modules/map.html \
+ src/templates/modules/progress-bar.html
templates_modulesdir = $(templatesdir)/modules
templates_netbootdir = $(templatesdir)/netboot
templates_newsletter_DATA = \
+ src/templates/newsletter/subscribe.txt \
src/templates/newsletter/subscribed.html
templates_newsletterdir = $(templatesdir)/newsletter
src/templates/people/conferences.html \
src/templates/people/call.html \
src/templates/people/calls.html \
+ src/templates/people/group.html \
+ src/templates/people/groups.html \
src/templates/people/index.html \
src/templates/people/passwd.html \
src/templates/people/search.html \
templates_peopledir = $(templatesdir)/people
+templates_people_messages_DATA = \
+ src/templates/people/messages/new-account.txt
+
+templates_people_messagesdir = $(templates_peopledir)/messages
+
templates_people_modules_DATA = \
src/templates/people/modules/accounts-list.html \
+ src/templates/people/modules/accounts-new.html \
+ src/templates/people/modules/agent.html \
src/templates/people/modules/cdr.html \
src/templates/people/modules/channels.html \
src/templates/people/modules/mos.html \
templates_people_modulesdir = $(templates_peopledir)/modules
-templates_people_ssh_keys_DATA = \
- src/templates/people/ssh-keys/delete.html \
- src/templates/people/ssh-keys/error.html \
- src/templates/people/ssh-keys/error-invalid-key.html \
- src/templates/people/ssh-keys/index.html \
- src/templates/people/ssh-keys/upload.html
-
-templates_people_ssh_keysdir = $(templates_peopledir)/ssh-keys
-
templates_static_DATA = \
src/templates/static/blocked.html \
- src/templates/static/chat.html \
src/templates/static/features.html \
src/templates/static/legal.html \
src/templates/static/support.html
templates_staticdir = $(templatesdir)/static
+templates_wiki_DATA = \
+ src/templates/wiki/404.html \
+ src/templates/wiki/base.html \
+ src/templates/wiki/confirm-delete.html \
+ src/templates/wiki/confirm-restore.html \
+ src/templates/wiki/diff.html \
+ src/templates/wiki/edit.html \
+ src/templates/wiki/page.html \
+ src/templates/wiki/recent-changes.html \
+ src/templates/wiki/revisions.html \
+ src/templates/wiki/search-results.html \
+ src/templates/wiki/watchlist.html
+
+templates_wikidir = $(templatesdir)/wiki
+
+templates_wiki_files_DATA = \
+ src/templates/wiki/files/detail.html \
+ src/templates/wiki/files/index.html
+
+templates_wiki_filesdir = $(templates_wikidir)/files
+
+templates_wiki_messages_DATA = \
+ src/templates/wiki/messages/page-changed.txt
+
+templates_wiki_messagesdir = $(templates_wikidir)/messages
+
+templates_wiki_modules_DATA = \
+ src/templates/wiki/modules/diff.html \
+ src/templates/wiki/modules/list.html \
+ src/templates/wiki/modules/navbar.html
+
+templates_wiki_modulesdir = $(templates_wikidir)/modules
+
# ------------------------------------------------------------------------------
SCSS_FILES = \
src/scss/style.scss \
+ src/scss/_code-highlighting.scss \
src/scss/_fonts.scss \
src/scss/_icons.scss \
src/scss/_variables.scss
EXTRA_DIST += \
+ src/scss/listing.scss \
src/templates/messages/main.scss
CLEANFILES += \
static_DATA = \
src/static/favicon.ico \
src/static/robots.txt \
+ src/scss/fonts.css \
+ src/scss/listing.css \
src/scss/main.css
CLEANFILES += \
+ src/scss/fonts.css \
+ src/scss/listing.css \
src/scss/main.css
EXTRA_DIST += \
src/fonts/ofl/mukta/Mukta-Regular.ttf \
src/fonts/ofl/mukta/Mukta-SemiBold.ttf \
\
- src/font-awesome/web-fonts-with-css/webfonts/fa-brands-400.eot \
- src/font-awesome/web-fonts-with-css/webfonts/fa-brands-400.svg \
- src/font-awesome/web-fonts-with-css/webfonts/fa-brands-400.ttf \
- src/font-awesome/web-fonts-with-css/webfonts/fa-brands-400.woff \
- src/font-awesome/web-fonts-with-css/webfonts/fa-brands-400.woff2 \
- src/font-awesome/web-fonts-with-css/webfonts/fa-regular-400.eot \
- src/font-awesome/web-fonts-with-css/webfonts/fa-regular-400.svg \
- src/font-awesome/web-fonts-with-css/webfonts/fa-regular-400.ttf \
- src/font-awesome/web-fonts-with-css/webfonts/fa-regular-400.woff \
- src/font-awesome/web-fonts-with-css/webfonts/fa-regular-400.woff2 \
- src/font-awesome/web-fonts-with-css/webfonts/fa-solid-900.eot \
- src/font-awesome/web-fonts-with-css/webfonts/fa-solid-900.svg \
- src/font-awesome/web-fonts-with-css/webfonts/fa-solid-900.ttf \
- src/font-awesome/web-fonts-with-css/webfonts/fa-solid-900.woff \
- src/font-awesome/web-fonts-with-css/webfonts/fa-solid-900.woff2 \
+ src/font-awesome/webfonts/fa-brands-400.eot \
+ src/font-awesome/webfonts/fa-brands-400.svg \
+ src/font-awesome/webfonts/fa-brands-400.ttf \
+ src/font-awesome/webfonts/fa-brands-400.woff \
+ src/font-awesome/webfonts/fa-brands-400.woff2 \
+ src/font-awesome/webfonts/fa-regular-400.eot \
+ src/font-awesome/webfonts/fa-regular-400.svg \
+ src/font-awesome/webfonts/fa-regular-400.ttf \
+ src/font-awesome/webfonts/fa-regular-400.woff \
+ src/font-awesome/webfonts/fa-regular-400.woff2 \
+ src/font-awesome/webfonts/fa-solid-900.eot \
+ src/font-awesome/webfonts/fa-solid-900.svg \
+ src/font-awesome/webfonts/fa-solid-900.ttf \
+ src/font-awesome/webfonts/fa-solid-900.woff \
+ src/font-awesome/webfonts/fa-solid-900.woff2 \
\
src/payment-font/fonts/paymentfont-webfont.eot \
src/payment-font/fonts/paymentfont-webfont.svg \
static_fontsdir = $(staticdir)/fonts
static_images_DATA = \
+ src/static/img/apple-touch-icon-192x192-precomposed.png \
+ src/static/img/apple-touch-icon-180x180-precomposed.png \
+ src/static/img/apple-touch-icon-152x152-precomposed.png \
+ src/static/img/apple-touch-icon-144x144-precomposed.png \
+ src/static/img/apple-touch-icon-120x120-precomposed.png \
+ src/static/img/apple-touch-icon-76x76-precomposed.png \
+ src/static/img/apple-touch-icon-72x72-precomposed.png \
+ src/static/img/apple-touch-icon-60x60-precomposed.png \
+ src/static/img/bash-logo.svg \
src/static/img/default-avatar.jpg \
src/static/img/ipfire-tux.png \
src/static/img/iuse-not-found.png \
- src/static/img/lightningwirelabs-logo.svg
+ src/static/img/lightningwirelabs-logo.svg \
+ src/static/img/python-logo.svg
static_imagesdir = $(staticdir)/img
src/bootstrap/dist/js/bootstrap.min.js \
src/bootstrap/dist/js/bootstrap.min.js.map \
\
+ src/static/js/editor.js \
src/static/js/jquery-3.3.1.min.js \
src/static/js/popper.min.js \
+ src/static/js/popper.min.js.map \
src/static/js/prettify.js \
\
src/static/js/zxcvbn/dist/zxcvbn.js \
# ------------------------------------------------------------------------------
dist_cron_DATA = \
- src/crontab/ipfire.org
+ src/crontab/ipfire
# ------------------------------------------------------------------------------
%: %.in Makefile
$(SED_PROCESS)
+%.css: _%.scss Makefile
+ $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
+ $(SASSC) --style compressed $< > $@
+
%.css: %.scss Makefile
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
$(SASSC) --style compressed $< > $@
src/scss/main.css: $(SCSS_FILES) Makefile
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
$(SASSC) --style compressed $< > $@
+
+src/static/favicon.ico: src/static/img/ipfire-tux.png Makefile
+ $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
+ $(CONVERT) $< -background none -flatten -density 1200 \
+ -resize 50% -define icon:auto-resize=64,48,32,16 $@
+
+src/static/img/apple-touch-icon-%-precomposed.png: src/static/img/ipfire-tux.png Makefile
+ $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
+ $(CONVERT) -background none -flatten -density 1200 -bordercolor none -border 5%x5% \
+ -resize $(patsubst src/static/img/apple-touch-icon-%-precomposed.png,%,$@) -gravity center \
+ -extent $(patsubst src/static/img/apple-touch-icon-%-precomposed.png,%,$@)x$(patsubst src/static/img/apple-touch-icon-%-precomposed.png,%,$@) \
+ $< $@
+
+.PHONY: update
+update:
+ for i in src/systemd/ipfire.org-webapp-*.service; do systemctl restart $$(basename $${i}) && sleep 5; done
+
+# Docker
+.PHONY: docker
+docker: Dockerfile
+ docker build -t "ipfire/webapp:$(PACKAGE_VERSION)" .