]> git.ipfire.org Git - ipfire.org.git/blobdiff - Makefile.am
wiki: Only match usernames when a word starts with @
[ipfire.org.git] / Makefile.am
index 8b2766322302637f425aaad6b2517e3850f268a2..95220c2e3d987f9bf9ce08a86fb04d60e75092c2 100644 (file)
@@ -49,10 +49,12 @@ CLEANFILES += \
 backend_PYTHON = \
        src/backend/__init__.py \
        src/backend/accounts.py \
+       src/backend/analytics.py \
        src/backend/asterisk.py \
        src/backend/base.py \
        src/backend/blog.py \
        src/backend/bugzilla.py \
+       src/backend/cache.py \
        src/backend/campaigns.py \
        src/backend/countries.py \
        src/backend/database.py \
@@ -61,7 +63,7 @@ backend_PYTHON = \
        src/backend/httpclient.py \
        src/backend/hwdata.py \
        src/backend/iuse.py \
-       src/backend/memcached.py \
+       src/backend/lists.py \
        src/backend/messages.py \
        src/backend/mirrors.py \
        src/backend/misc.py \
@@ -82,6 +84,7 @@ backenddir = $(pythondir)/ipfire
 
 web_PYTHON = \
        src/web/__init__.py \
+       src/web/analytics.py \
        src/web/auth.py \
        src/web/base.py \
        src/web/blog.py \
@@ -92,9 +95,9 @@ web_PYTHON = \
        src/web/fireinfo.py \
        src/web/handlers.py \
        src/web/iuse.py \
+       src/web/lists.py \
        src/web/location.py \
        src/web/nopaste.py \
-       src/web/people.py \
        src/web/ui_modules.py \
        src/web/users.py \
        src/web/voip.py
@@ -112,29 +115,40 @@ templates_DATA = \
 
 templatesdir = $(datadir)/templates
 
+templates_analytics_DATA = \
+       src/templates/analytics/docs.html \
+       src/templates/analytics/index.html
+
+templates_analyticsdir = $(templatesdir)/analytics
+
+templates_analytics_modules_DATA = \
+       src/templates/analytics/modules/summary.html
+
+templates_analytics_modulesdir = $(templates_analyticsdir)/modules
+
 templates_auth_DATA = \
        src/templates/auth/activate.html \
        src/templates/auth/activated.html \
+       src/templates/auth/join.html \
+       src/templates/auth/join-success.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-success.html
+       src/templates/auth/password-reset-successful.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/join.html \
+       src/templates/auth/messages/join.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
+       src/templates/auth/messages/profile-setup-2.txt
 
 templates_auth_messagesdir = $(templates_authdir)/messages
 
@@ -145,14 +159,13 @@ templates_auth_modules_DATA = \
 templates_auth_modulesdir = $(templates_authdir)/modules
 
 templates_blog_DATA = \
-       src/templates/blog/compose.html \
        src/templates/blog/delete.html \
        src/templates/blog/drafts.html \
        src/templates/blog/feed.xml \
        src/templates/blog/index.html \
        src/templates/blog/post.html \
        src/templates/blog/publish.html \
-       src/templates/blog/tag.html \
+       src/templates/blog/write.html \
        src/templates/blog/year.html
 
 templates_blogdir = $(templatesdir)/blog
@@ -165,8 +178,7 @@ templates_blog_messagesdir = $(templates_blogdir)/messages
 
 templates_blog_modules_DATA = \
        src/templates/blog/modules/history-navigation.html \
-       src/templates/blog/modules/list.html \
-       src/templates/blog/modules/post.html
+       src/templates/blog/modules/list.html
 
 templates_blog_modulesdir = $(templates_blogdir)/modules
 
@@ -223,6 +235,7 @@ templates_docs_modules_DATA = \
 templates_docs_modulesdir = $(templates_docsdir)/modules
 
 templates_downloads_DATA = \
+       src/templates/downloads/cloud.html \
        src/templates/downloads/mirrors.html \
        src/templates/downloads/release.html \
        src/templates/downloads/thank-you.html
@@ -249,24 +262,36 @@ templates_fireinfo_modules_DATA = \
 templates_fireinfo_modulesdir = $(templates_fireinfodir)/modules
 
 templates_location_DATA = \
-       src/templates/location/base.html \
-       src/templates/location/blacklists.html \
-       src/templates/location/download.html \
-       src/templates/location/how-to-use.html \
        src/templates/location/index.html \
-       src/templates/location/lookup.html
+       src/templates/location/install.html \
+       src/templates/location/lookup.html \
+       src/templates/location/report-a-problem.html
 
 templates_locationdir = $(templatesdir)/location
 
+templates_location_how_to_use_DATA = \
+       src/templates/location/how-to-use/cli.html \
+       src/templates/location/how-to-use/dns.html \
+       src/templates/location/how-to-use/index.html \
+       src/templates/location/how-to-use/python.html
+
+templates_location_how_to_usedir = $(templates_locationdir)/how-to-use
+
+templates_lists_DATA = \
+       src/templates/lists/index.html
+
+templates_listsdir = $(templatesdir)/lists
+
 templates_messages_DATA = \
        src/templates/messages/base.html \
        src/templates/messages/base-promo.html \
+       src/templates/messages/fonts.css \
        src/templates/messages/main.css
 
 templates_messagesdir = $(templatesdir)/messages
 
 templates_modules_DATA = \
-       src/templates/modules/christmas-banner.html \
+       src/templates/modules/ipfire-logo.html \
        src/templates/modules/map.html \
        src/templates/modules/progress-bar.html
 
@@ -283,6 +308,7 @@ templates_netbootdir = $(templatesdir)/netboot
 
 templates_nopaste_DATA = \
        src/templates/nopaste/create.html \
+       src/templates/nopaste/upload.html \
        src/templates/nopaste/view.html
 
 templates_nopastedir = $(templatesdir)/nopaste
@@ -292,14 +318,6 @@ templates_nopaste_modules_DATA = \
 
 templates_nopaste_modulesdir = $(templates_nopastedir)/modules
 
-templates_people_DATA = \
-       src/templates/people/index.html \
-       src/templates/people/subscribed.html \
-       src/templates/people/unsubscribe.html \
-       src/templates/people/unsubscribed.html
-
-templates_peopledir = $(templatesdir)/people
-
 templates_people_messages_DATA = \
        src/templates/people/messages/new-account.txt
 
@@ -308,7 +326,9 @@ templates_people_messagesdir = $(templates_peopledir)/messages
 templates_static_DATA = \
        src/templates/static/about.html \
        src/templates/static/legal.html \
-       src/templates/static/help.html
+       src/templates/static/help.html \
+       src/templates/static/partners.html \
+       src/templates/static/sitemap.html
 
 templates_staticdir = $(templatesdir)/static
 
@@ -318,7 +338,11 @@ templates_users_DATA = \
        src/templates/users/edit.html \
        src/templates/users/index.html \
        src/templates/users/passwd.html \
-       src/templates/users/show.html
+       src/templates/users/show.html \
+       src/templates/users/subscribe.html \
+       src/templates/users/subscribed.html \
+       src/templates/users/unsubscribe.html \
+       src/templates/users/unsubscribed.html
 
 templates_usersdir = $(templatesdir)/users
 
@@ -359,13 +383,16 @@ SASS_FILES = \
        src/sass/main.sass \
        src/sass/_code-highlighting.sass \
        src/sass/_fonts.sass \
-       src/sass/_icons.sass
+       src/sass/_icons.sass \
+       src/sass/_variables.sass
 
 EXTRA_DIST += \
        src/sass/listing.sass \
+       src/templates/messages/fonts.sass \
        src/templates/messages/main.sass
 
 CLEANFILES += \
+       src/templates/messages/fonts.css \
        src/templates/messages/main.css
 
 static_DATA = \
@@ -914,25 +941,25 @@ static_flags_4x3_DATA = \
 
 static_flags_4x3dir = $(static_flagsdir)/4x3
 
-static_fonts_DATA = \
-       src/fonts/ofl/prompt/Prompt-BlackItalic.ttf \
-       src/fonts/ofl/prompt/Prompt-Black.ttf \
-       src/fonts/ofl/prompt/Prompt-BoldItalic.ttf \
-       src/fonts/ofl/prompt/Prompt-Bold.ttf \
-       src/fonts/ofl/prompt/Prompt-ExtraBoldItalic.ttf \
-       src/fonts/ofl/prompt/Prompt-ExtraBold.ttf \
-       src/fonts/ofl/prompt/Prompt-ExtraLightItalic.ttf \
-       src/fonts/ofl/prompt/Prompt-ExtraLight.ttf \
-       src/fonts/ofl/prompt/Prompt-Italic.ttf \
-       src/fonts/ofl/prompt/Prompt-LightItalic.ttf \
-       src/fonts/ofl/prompt/Prompt-Light.ttf \
-       src/fonts/ofl/prompt/Prompt-MediumItalic.ttf \
-       src/fonts/ofl/prompt/Prompt-Medium.ttf \
-       src/fonts/ofl/prompt/Prompt-Regular.ttf \
-       src/fonts/ofl/prompt/Prompt-SemiBoldItalic.ttf \
-       src/fonts/ofl/prompt/Prompt-SemiBold.ttf \
-       src/fonts/ofl/prompt/Prompt-ThinItalic.ttf \
-       src/fonts/ofl/prompt/Prompt-Thin.ttf \
+dist_static_fonts_DATA = \
+       src/static/fonts/prompt/Prompt-Black.ttf \
+       src/static/fonts/prompt/Prompt-BlackItalic.ttf \
+       src/static/fonts/prompt/Prompt-Bold.ttf \
+       src/static/fonts/prompt/Prompt-BoldItalic.ttf \
+       src/static/fonts/prompt/Prompt-ExtraBold.ttf \
+       src/static/fonts/prompt/Prompt-ExtraBoldItalic.ttf \
+       src/static/fonts/prompt/Prompt-ExtraLight.ttf \
+       src/static/fonts/prompt/Prompt-ExtraLightItalic.ttf \
+       src/static/fonts/prompt/Prompt-Italic.ttf \
+       src/static/fonts/prompt/Prompt-Light.ttf \
+       src/static/fonts/prompt/Prompt-LightItalic.ttf \
+       src/static/fonts/prompt/Prompt-Medium.ttf \
+       src/static/fonts/prompt/Prompt-MediumItalic.ttf \
+       src/static/fonts/prompt/Prompt-Regular.ttf \
+       src/static/fonts/prompt/Prompt-SemiBold.ttf \
+       src/static/fonts/prompt/Prompt-SemiBoldItalic.ttf \
+       src/static/fonts/prompt/Prompt-Thin.ttf \
+       src/static/fonts/prompt/Prompt-ThinItalic.ttf \
        \
        src/font-awesome/webfonts/fa-brands-400.ttf \
        src/font-awesome/webfonts/fa-brands-400.woff2 \
@@ -946,8 +973,36 @@ static_fonts_DATA = \
        src/payment-font/fonts/paymentfont-webfont.ttf \
        src/payment-font/fonts/paymentfont-webfont.woff
 
+static_fonts_DATA = \
+       src/static/fonts/prompt/Prompt-Black.woff2 \
+       src/static/fonts/prompt/Prompt-BlackItalic.woff2 \
+       src/static/fonts/prompt/Prompt-Bold.woff2 \
+       src/static/fonts/prompt/Prompt-BoldItalic.woff2 \
+       src/static/fonts/prompt/Prompt-ExtraBold.woff2 \
+       src/static/fonts/prompt/Prompt-ExtraBoldItalic.woff2 \
+       src/static/fonts/prompt/Prompt-ExtraLight.woff2 \
+       src/static/fonts/prompt/Prompt-ExtraLightItalic.woff2 \
+       src/static/fonts/prompt/Prompt-Italic.woff2 \
+       src/static/fonts/prompt/Prompt-Light.woff2 \
+       src/static/fonts/prompt/Prompt-LightItalic.woff2 \
+       src/static/fonts/prompt/Prompt-Medium.woff2 \
+       src/static/fonts/prompt/Prompt-MediumItalic.woff2 \
+       src/static/fonts/prompt/Prompt-Regular.woff2 \
+       src/static/fonts/prompt/Prompt-SemiBold.woff2 \
+       src/static/fonts/prompt/Prompt-SemiBoldItalic.woff2 \
+       src/static/fonts/prompt/Prompt-Thin.woff2 \
+       src/static/fonts/prompt/Prompt-ThinItalic.woff2
+
 static_fontsdir = $(staticdir)/fonts
 
+EXTRA_DIST += \
+       src/static/fonts/prompt/DESCRIPTION.en_us.html \
+       src/static/fonts/prompt/METADATA.pb \
+       src/static/fonts/prompt/OFL.txt
+
+CLEANFILES += \
+       $(static_fonts_DATA)
+
 static_img_DATA = \
        src/static/img/apple-touch-icon-192x192-precomposed.png \
        src/static/img/apple-touch-icon-180x180-precomposed.png \
@@ -960,14 +1015,38 @@ static_img_DATA = \
        src/static/img/bash-logo.svg \
        src/static/img/debian-logo.svg \
        src/static/img/default-avatar.jpg \
+       src/static/img/fdroid-logo.svg \
        src/static/img/ipfire-tux.png \
        src/static/img/iuse-not-found.png \
+       src/static/img/kyberio-logo.svg \
        src/static/img/lightningwirelabs-logo.svg \
        src/static/img/python-logo.svg \
        src/static/img/tor.svg
 
 static_imgdir = $(staticdir)/img
 
+# From https://www.pexels.com/photo/123-let-s-go-imaginary-text-704767/
+
+dist_static_img_auth_DATA = \
+       src/static/img/auth/join.jpg
+
+static_img_auth_DATA = \
+       src/static/img/auth/join@600.jpg
+
+CLEANFILES += \
+       src/static/img/auth/join@600.jpg
+
+static_img_authdir = $(static_imgdir)/auth
+
+static_img_downloadsdir = $(static_imgdir)/downloads
+
+dist_static_img_downloads_cloud_DATA = \
+       src/static/img/downloads/cloud/aws.svg \
+       src/static/img/downloads/cloud/exoscale.svg \
+       src/static/img/downloads/cloud/hetzner.svg
+
+static_img_downloads_clouddir = $(static_img_downloadsdir)/cloud
+
 static_images_tux_DATA = \
        src/static/img/tux/ipfire_tux_16x16.png \
        src/static/img/tux/ipfire_tux_20x20.png \
@@ -997,8 +1076,9 @@ CLEANFILES += \
 static_videos_DATA = \
        src/static/videos/firewall.jpg \
        src/static/videos/firewall@1920.av1.mp4 \
-       src/static/videos/firewall@1920.hevc.mp4 \
-       src/static/videos/firewall@1920.h264.mp4
+       src/static/videos/firewall@1920.h265.mp4 \
+       src/static/videos/firewall@1920.h264.mp4 \
+       src/static/videos/firewall@1920.vp9.mp4
 
 static_videosdir = $(staticdir)/videos
 
@@ -1028,6 +1108,29 @@ static_netbootdir = $(staticdir)/netboot
 
 # ------------------------------------------------------------------------------
 
+EXTRA_DIST += \
+       src/error-pages/Gemfile \
+       src/error-pages/Gemfile.lock \
+       src/error-pages/_config.yml \
+       src/error-pages/_layouts/error.html \
+       src/error-pages/assets/main.sass \
+       src/error-pages/500.markdown \
+       src/error-pages/502.markdown \
+       src/error-pages/503.markdown \
+       src/error-pages/504.markdown
+
+.PHONY: error-pages
+error-pages:
+       $(AM_V_GEN)cd src/error-pages && JEKYLL_ENV=production \
+               $(JEKYLL) build --quiet --incremental
+
+.PHONY: upload-error-pages
+upload-error-pages: error-pages
+       rsync --verbose --progress --recursive --delete -e "ssh -p 222" --exclude="feed.xml" \
+               src/error-pages/_site/ root@fw01.haj.ipfire.org:/etc/haproxy/errors/
+
+# ------------------------------------------------------------------------------
+
 dist_cron_DATA = \
        src/crontab/ipfire
 
@@ -1091,10 +1194,28 @@ src/static/img/apple-touch-icon-%-precomposed.png: src/static/img/ipfire-tux.png
                -extent $(patsubst src/static/img/apple-touch-icon-%-precomposed.png,%,$@)x$(patsubst src/static/img/apple-touch-icon-%-precomposed.png,%,$@) \
                $< $@
 
+# Resizes images for being used in messages which are 600px wide
+%@600.jpg: %.jpg
+       $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
+       $(CONVERT) -units PixelsPerInch $< -resize 600x -strip -quality 85 $@
+
+# Fonts
+
+%.woff2: %.ttf
+       $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
+       $(WOFF2_COMPRESS) $^ >/dev/null
+
 # Video Stuff
 
-FFMPEG += \
-       -loglevel quiet
+# Multi-threading options for faster encoding
+FFMPEG_MT = \
+       -row-mt 1 \
+       -threads $(shell getconf _NPROCESSORS_ONLN) \
+       -tile-columns 2
+
+# Enable to log less
+#FFMPEG += \
+#      -loglevel quiet
 
 # AV1
 src/static/videos/firewall@%.av1.mp4: src/static/videos/firewall.mp4
@@ -1104,27 +1225,32 @@ src/static/videos/firewall@%.av1.mp4: src/static/videos/firewall.mp4
                -map_metadata -1 \
                -an \
                -c:v libsvtav1 \
+               -b:v 0 \
                -crf 31 \
-               -preset 5 \
+               -strict experimental \
+               -preset 3 \
                -pix_fmt yuv420p \
                -movflags +faststart \
-               -vf scale=$(patsubst src/static/videos/firewall@%.av1.mp4,%,$@):-2,fps=25 \
+               -vf scale=$(patsubst src/static/videos/firewall@%.av1.mp4,%,$@):-2:flags=lanczos,fps=25 \
+               $(FFMPEG_MT) \
                $@
 
-# HEVC
-src/static/videos/firewall@%.hevc.mp4: src/static/videos/firewall.mp4
+# H.256
+src/static/videos/firewall@%.h265.mp4: src/static/videos/firewall.mp4
        $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
        $(FFMPEG) -y \
                -i $^ \
                -map_metadata -1 \
                -an \
                -c:v libx265 \
-               -crf 25 \
+               -b:v 0 \
+               -crf 27 \
                -preset veryslow \
                -pix_fmt yuv420p \
                -movflags +faststart \
                -tag:v hvc1 \
-               -vf scale=$(patsubst src/static/videos/firewall@%.hevc.mp4,%,$@):-2,fps=25 \
+               -vf scale=$(patsubst src/static/videos/firewall@%.h265.mp4,%,$@):-2:flags=lanczos,fps=25 \
+               $(FFMPEG_MT) \
                $@
 
 # H.264
@@ -1135,12 +1261,32 @@ src/static/videos/firewall@%.h264.mp4: src/static/videos/firewall.mp4
                -map_metadata -1 \
                -an \
                -c:v libx264 \
+               -b:v 0 \
                -crf 27 \
                -preset veryslow \
                -profile:v main \
                -pix_fmt yuv420p \
                -movflags +faststart \
-               -vf scale=$(patsubst src/static/videos/firewall@%.h264.mp4,%,$@):-2,fps=25 \
+               -vf scale=$(patsubst src/static/videos/firewall@%.h264.mp4,%,$@):-2:flags=lanczos,fps=25 \
+               $(FFMPEG_MT) \
+               $@
+
+# VP9
+src/static/videos/firewall@%.vp9.mp4: src/static/videos/firewall.mp4
+       $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
+       $(FFMPEG) -y \
+               -i $^ \
+               -map_metadata -1 \
+               -an \
+               -c:v libvpx-vp9 \
+               -b:v 0 \
+               -crf 31 \
+               -deadline best \
+               -preset veryslow \
+               -pix_fmt yuv420p \
+               -movflags +faststart \
+               -vf scale=$(patsubst src/static/videos/firewall@%.vp9.mp4,%,$@):-2:flags=lanczos,fps=25 \
+               $(FFMPEG_MT) \
                $@
 
 # Cover image