710 Commits

Author SHA1 Message Date
sofiaritz 63e70f1eb1 Revert "refactor: use lxml instead of string templating in process_file. (#5146)"
continuous-integration/drone/pr Build is passing
This reverts commit c4b7f0f33c.
2025-07-28 18:00:47 +02:00
delliott c4b7f0f33c refactor: use lxml instead of string templating in process_file. (#5146)
continuous-integration/drone/push Build is passing
Code looks much cleaner and easier to read, as well as being more performant.

Also prevents the construction of invalid xml.

Some benchmarks:
```
❯ hyperfine --runs 3 "uv run build --full "; git checkout master; hyperfine --runs 3 "uv run build --full "
Benchmark 1: uv run build --full
  Time (mean ± σ):     287.612 s ±  4.557 s    [User: 1613.681 s, System: 151.556 s]
  Range (min … max):   283.550 s … 292.539 s    3 runs
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
Benchmark 1: uv run build --full
Time (mean ± σ):     357.248 s ±  5.578 s    [User: 2052.506 s, System: 163.057 s]
  Range (min … max):   350.810 s … 360.609 s    3 runs
```
So this reduces build times by about a minute, getting us down to just under 5 minutes for a full build on my machine.

Co-authored-by: Darragh Elliott <me@delliott.xyz>
Reviewed-on: #5146
Co-authored-by: delliott <delliott@fsfe.org>
Co-committed-by: delliott <delliott@fsfe.org>
2025-07-28 13:06:30 +00:00
Darragh Elliott 998a6fd989 refactor: enable more ruff warnings, and then fix raised issues
continuous-integration/drone/pr Build is passing
2025-07-27 16:26:39 +00:00
anaghz 46e4827bcb Update build/xslt/fsfe_body.xsl
continuous-integration/drone/pr Build is passing
Hiding top banner
2025-07-25 10:53:27 +00:00
Darragh Elliott 869d384079 fix: use same for loop for both subdir stuff
continuous-integration/drone/pr Build is passing
2025-06-28 09:46:52 +01:00
Darragh Elliott c79f5ef415 feat: use uv
continuous-integration/drone/pr Build is passing
its faster, and has some nicer features
2025-06-25 18:58:17 +01:00
Darragh Elliott ee778119f0 feat: do not prepare unnecessary subdirectories
continuous-integration/drone/pr Build is passing
2025-06-15 22:36:04 +01:00
Darragh Elliott 75b5c0cde0 fix: actually search files for tags properly
continuous-integration/drone/pr Build is passing
2025-06-05 20:08:44 +01:00
Darragh Elliott 0beac7a12b fix: update xmllist tag search 2025-06-05 19:28:22 +01:00
anaghz b853311859 Update build/xslt/fsfe_body.xsl
continuous-integration/drone/pr Build is passing
2025-06-02 12:06:45 +00:00
delliott 9c15f9400a feat: build by site (#5031)
continuous-integration/drone/push Build is passing
phase 1 and 2 now by site folder

This allows for us building each site in a different set of languages, wheres before we built every site in every language any site was in.

At the moment this will build each site in every language that there is at least one file of that language in the site.

So if a site has on file in lang AA, it will be built in lang AA. But if it has no files, it will not be built in that lang.

This is a performance enhancement, will do benchmarks later.

Some more complex heuristics for when we do/do not use a language for a file are being discussed in #4601 .

Co-authored-by: Darragh Elliott <me@delliott.xyz>
Reviewed-on: #5031
Reviewed-by: tobiasd <tobiasd@fsfe.org>
Reviewed-by: Sofía Aritz <sofiaritz@fsfe.org>
Co-authored-by: delliott <delliott@fsfe.org>
Co-committed-by: delliott <delliott@fsfe.org>
2025-05-26 12:18:43 +00:00
Darragh Elliott ffefe38f41 feat: move internal activities file generation to internal folder
continuous-integration/drone/pr Build is passing
no functional changes, but code slightly cleaner
also rework gitignores slightly to reflect site structure better
2025-05-17 15:48:33 +01:00
anaghz 8ba91c9b3c Desactivating topbanner
continuous-integration/drone/pr Build is passing
2025-05-14 05:44:57 +00:00
Darragh Elliott 0775593408 fix: add a print to creating activities file
continuous-integration/drone/pr Build is passing
2025-05-03 18:46:16 +01:00
Darragh Elliott 55a744a21d fix: clean activites file generation up a little
continuous-integration/drone/pr Build is passing
By using lxml we avoid the possibility of malformed xml,
Use update_if_changed to not touch it every build, cutting down on unneeded rebuilds
2025-04-30 20:14:54 +01:00
Darragh Elliott 5ec4855615 fix: cleanup the process xhtml, rss, ics code and move to one file.
continuous-integration/drone/pr Build is passing
no performance benefit, just cleaner code.
2025-04-30 12:56:07 +01:00
tobiasd 84b165680b email evaluation
continuous-integration/drone/push Build is passing
2025-04-29 14:37:30 +02:00
Darragh Elliott 3d536e9337 fix: countries not being properly sourced
continuous-integration/drone/pr Build is passing
no global data was being sourced correctly in xmllists
2025-04-28 10:37:38 +01:00
Darragh Elliott c88443a633 fix: search urls
continuous-integration/drone/pr Build is passing
2025-04-27 16:12:41 +01:00
Darragh Elliott 88eb4f3dfa fix: do not regenerate localmenus every time
continuous-integration/drone/pr Build is passing
2025-04-25 13:40:30 +01:00
Darragh Elliott 6431434609 fix: match xmllist lines properly 2025-04-25 13:18:54 +01:00
Darragh Elliott bafcb245f3 chore: run formatters 2025-04-25 12:24:18 +01:00
Darragh Elliott 8178e1ba52 fix: incorrect paths for xmllists 2025-04-25 12:23:59 +01:00
delliott 4468cf2337 feat/python-rewrite (#4762)
continuous-integration/drone/push Build is passing
Rewrite the whole build process in python, for superior speed and maintenance

Co-authored-by: Darragh Elliott <me@delliott.xyz>
Co-authored-by: Sofía Aritz <sofiaritz@fsfe.org>
Co-authored-by: tobiasd <tobiasd@fsfe.org>
Co-authored-by: Tobias Diekershoff <tobiasd@fsfe.org>
Reviewed-on: #4762
Co-authored-by: delliott <delliott@fsfe.org>
Co-committed-by: delliott <delliott@fsfe.org>
2025-04-24 12:56:29 +00:00
sofiaritz 9c3e0ed163 Misc 2025-04-02 09:27:44 +00:00
sofiaritz 63daf47860 Improve accessibility of the header and FYA page 2025-04-02 09:27:44 +00:00
anaghz 785940ddef fixing topbanner
continuous-integration/drone/pr Build is passing
2025-03-18 12:56:13 +01:00
anaghz fa6d9c31df Update build/xslt/fsfe_body.xsl
continuous-integration/drone/push Build is passing
2025-03-18 11:17:24 +00:00
bonnie 3edbdcd8ee ilovefs: style back to normal
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-02-15 08:18:04 +01:00
bonnie 509a12bc4a ilovefs: change design of webpage to valentine
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-02-13 16:49:19 +01:00
tobiasd b8b5ba8bfc update year in footer
continuous-integration/drone/push Build is passing
2025-01-13 15:25:02 +01:00
tobiasd 6cea719256 remove topbanner
continuous-integration/drone/push Build is passing
2025-01-10 11:58:21 +01:00
Darragh Elliott 0d0d9a2830 feat: move countries xml to global instead of tools
continuous-integration/drone/pr Build is passing
2024-12-03 14:35:11 +00:00
Darragh Elliott 055c553ecb fix: translation-lists
continuous-integration/drone/pr Build is passing
2024-12-03 10:30:25 +00:00
delliott bb45fc85ba feat/build-improvements-2 (#4553)
continuous-integration/drone/push Build is passing
Another attempt at #4516

Adds a small fix for tag map generation

#4516 introduces build failures, but testing indicates that those failures would have been resolved by a full rebuild.

Hence this pr.

Co-authored-by: Darragh Elliott <me@delliott.xyz>
Reviewed-on: #4553
Co-authored-by: delliott <delliott@fsfe.org>
Co-committed-by: delliott <delliott@fsfe.org>
2024-10-29 14:56:41 +00:00
tobiasd 30562062b2 Revert "feat/build-improvements (#4516)"
continuous-integration/drone/push Build is passing
This reverts commit d1defc73f8.
2024-10-28 15:10:33 +01:00
delliott d1defc73f8 feat/build-improvements (#4516)
continuous-integration/drone/push Build is passing
This pr re-formats the build scripts for legibility.
Makes some small tweaks, mainly removing options that don't appear to be used and have no impact.
Updates the help file to be more useful and actually represent all arguments.
Adds the ability to specify languages when building. This is mainly useful for speedups, a full rebuild in just English and French takes only ~3 mins as opposed to 40 for a rebuild of all languages.
There may be some small tweaks not mentioned here, see the commit messages for full details.

This pr does not alter the output of a standard build at all, confirmed using `git diff --no-index`.

Co-authored-by: Darragh Elliott <me@delliott.xyz>
Reviewed-on: #4516
Co-authored-by: delliott <delliott@fsfe.org>
Co-committed-by: delliott <delliott@fsfe.org>
2024-10-28 13:55:03 +00:00
Darragh Elliott 18647572b4 feat: support building the website inside the repo 2024-10-15 14:10:15 +01:00
tobiasd b4d10e320e added banner for the movie
continuous-integration/drone/pr Build is passing
2024-10-09 12:07:40 +02:00
Darragh Elliott 29a22ce87a feat: Rsync media files etc instead of symlinking
continuous-integration/drone/pr Build is passing
This is slightly more resource intensive per build, but also measn that the bewildering situation of changing files in the source tree alters the build/stage folder output without rebuilding.
Rsync means the impact should not be too large
2024-09-26 16:56:17 +01:00
Darragh Elliott e5f16158d2 feat: remove rtl css, as it does nothing
continuous-integration/drone/pr Build is passing
When it is being implemented should probably be in global css rather than with conditionals
2024-09-19 11:07:12 +01:00
Darragh Elliott 948cfa52ed fix: use fileurl for several links, fixing them
continuous-integration/drone/pr Build is failing
2024-09-18 18:40:06 +01:00
Darragh Elliott c0682c8522 feat: use fileurl instead of manipulated filename 2024-09-18 18:40:06 +01:00
Darragh Elliott 4477c4401b fix: use quotes for scaffold expansions 2024-09-18 18:40:06 +01:00
Darragh Elliott cc7bec452b feat: add fileurl to buildinfo data 2024-09-18 18:40:06 +01:00
Darragh Elliott 7f40467541 feat: dont copy over nix
continuous-integration/drone/pr Build is passing
2024-09-17 11:59:10 +01:00
Darragh Elliott 3049db5e9d feat: stop copying source over, and make less dirs for cleaner output 2024-09-17 11:59:10 +01:00
delliott d2f5353832 Fix supporter referal links
continuous-integration/drone/pr Build is passing
2024-08-29 14:19:12 +02:00
delliott 7a0f730d9e Fix alternates
continuous-integration/drone/pr Build is passing
2024-08-27 13:17:50 +02:00
delliott c132ebfef4 Fix localmenus, language switcher, Event/News archives 2024-08-26 09:48:07 +02:00