diff options
| author | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2024-05-08 19:17:10 +0200 |
|---|---|---|
| committer | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2025-06-15 01:30:28 +0200 |
| commit | 4ee9c036e1a3f174b31e372cf36b480fbb5480d4 (patch) | |
| tree | 6fb177f00c71ce9c16ea7b171d7da4a38d2baa83 /Makefile | |
| parent | a71dbf534c62e94001e72dfb4742002f02b6bc04 (diff) | |
| download | haunt-blog-4ee9c036e1a3f174b31e372cf36b480fbb5480d4.tar.gz haunt-blog-4ee9c036e1a3f174b31e372cf36b480fbb5480d4.tar.bz2 haunt-blog-4ee9c036e1a3f174b31e372cf36b480fbb5480d4.zip | |
Makefile: html/markdown: use real make targets.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 171 |
1 files changed, 130 insertions, 41 deletions
@@ -1,4 +1,4 @@ -# Copyright (C) 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> +# Copyright (C) 2023-2024 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -29,9 +29,49 @@ VENDOR_REPLICANT_ARTWORK_PATH ?= external/vendor_replicant_artwork SENTINEL = -.PHONY: all build deploy generate-wordpress-articles help serve - -PAGES = \ +.PHONY: all build deploy generate-wordpress-articles help markdown serve + +# Input: wordpress/articles/2015_07_replicant-source-code-hosting-and-rmll-2015.html +# Output: https://blog.replicant.us/2015/07/replicant-source-code-hosting-and-rmll-2015/ +define get-wordpress-article-url + +(use-modules (ice-9 regex)) + +;; Input: wordpress/articles/2015_07_replicant-source-code-hosting-and-rmll-2015.html +;; Output: 2015_07_replicant-source-code-hosting-and-rmll-2015.html +(define (local-filename name) + (list-ref (string-split name #\/) 2)) + +;; Output: 2015 +(define year + (car (string-split (local-filename "$@") #\_))) + +;; Output: 07 +(define month + (cadr (string-split (local-filename "$@") #\_))) + +;; Output: replicant-source-code-hosting-and-rmll-2015.html +(define html-page + (regexp-substitute + #f + (string-match + "[0-9]{4}_[0-9]{2}_" + "$@") + 'post)) + +;; Output: replicant-source-code-hosting-and-rmll-2015 +(define page-path + (regexp-substitute + #f + (string-match + ".html" + html-page) + 'pre)) + +(string-append "https://blog.replicant.us/" year "/" month "/" page-path "/") +endef + +WORDPRESS_PAGES = \ wordpress/pages/replicant_blog_page_8.html \ wordpress/pages/replicant_blog_page_7.html \ wordpress/pages/replicant_blog_page_6.html \ @@ -43,6 +83,81 @@ PAGES = \ wordpress/pages/replicant_blog_page_0.html \ $(SENTINEL) +MARKDOWN_ARTICLES = \ + markdown/2010_09_welcome-to-replicant.md \ + markdown/2010_11_fdroid-a-free-software-alternative-to-google-market.md \ + markdown/2011_03_new-replicant-test-images-available.md \ + markdown/2011_04_replicant-2-2-sdk-available.md \ + markdown/2011_04_replicant-lacks-tracking-antifeatures.md \ + markdown/2011_05_replicant-2-2-preview-007.md \ + markdown/2011_06_replicant-2-2-preview-008-is-out.md \ + markdown/2011_08_nexus-s-support-in-replicant-being-worked-on.md \ + markdown/2011_09_introducing-replicant-on-htc-dream-video.md \ + markdown/2011_10_new-replicant-2-2-preview-images-0009-released.md \ + markdown/2011_11_replicant-2-3-preview-images-for-nexus-one-released.md \ + markdown/2011_11_replicant-on-nexus-s-preview.md \ + markdown/2012_01_nexus-s-status-update-with-new-images.md \ + markdown/2012_02_wiki-and-tracker-are-now-powered-by-redmine.md \ + markdown/2012_03_galaxy-s-support-upcoming.md \ + markdown/2012_04_new-set-of-replicant-2-3-images-including-galaxy-s-support.md \ + markdown/2012_04_nexus-sgalaxy-s-privacy-issues.md \ + markdown/2012_09_replicant-2-3-0004-images-release.md \ + markdown/2012_09_replicant-2-3-0005-images-fixing-the-ussd-vulnerability.md \ + markdown/2012_11_replicant-4-0-0001-images-release.md \ + markdown/2013_01_replicant-4-0-sdk-release.md \ + markdown/2013_02_replicant-4-0-0002-images-release.md \ + markdown/2013_04_replicant-4-0-0003-images-release.md \ + markdown/2013_07_announcing-the-free-software-foundation-fundraising-program-for-replicant.md \ + markdown/2013_07_replicant-4-0-0004-images-release.md \ + markdown/2013_08_opening-the-replicant-forums.md \ + markdown/2013_10_replicant-4-0-0005-images-release.md \ + markdown/2013_11_fairphone.md \ + markdown/2014_01_replicant-4-2-kicks-out.md \ + markdown/2014_03_unveiling-the-samsung-galaxy-back-door.md \ + markdown/2014_06_replicant-4-2-on-the-goldelico-gta04.md \ + markdown/2014_06_replicant-at-the-15th-libre-software-meeting-in-montpellier-france-this-july.md \ + markdown/2014_07_replicant-4-2-0002-images-release.md \ + markdown/2014_09_replicant-homepage-and-roadmap-for-the-future.md \ + markdown/2014_12_replicant-4-2-0003-images-release.md \ + markdown/2015_01_replicant-at-fosdem-2015.md \ + markdown/2015_04_whats-happening-or-not-at-replicant.md \ + markdown/2015_07_replicant-source-code-hosting-and-rmll-2015.md \ + markdown/2015_07_rmll-feedback-optimus-black-advancement-and-cccamp.md \ + markdown/2015_08_replicant-and-friends-at-chaos-communication-camp-2015.md \ + markdown/2015_09_replicant-4-2-0004-images-release.md \ + markdown/2015_09_upcoming-events-for-replicant-in-octobernovember-2015.md \ + markdown/2015_12_shops-selling-devices-pre-installed-with-replicant.md \ + markdown/2016_01_replicant-at-fosdem-2016.md \ + markdown/2016_05_coliberator-2016-keynotes-and-workshops.md \ + markdown/2016_07_media-from-2016-replicant-talks.md \ + markdown/2016_07_replicant-at-pseshsf-2016.md \ + markdown/2016_08_replicant-6-early-work-upstream-work-and-f-droid-issue.md \ + markdown/2017_02_replicant-6-0-development-updates.md \ + markdown/2017_04_there-wont-be-a-replicant-6-0-sdk-because-there-is-already-something-better.md \ + markdown/2017_05_replicant-6-0-released.md \ + markdown/2017_09_a-new-replicant-6-0-release.md \ + markdown/2017_12_contributions-to-arcep-work-on-terminal-devices-and-public-consultation.md \ + markdown/2017_12_third-replicant-6-0-release.md \ + markdown/2018_01_les-terminaux-sont-ils-le-maillon-faible-de-louverture-dinternet.md \ + markdown/2018_03_final-days-for-the-upstream-linux-allwinner-vpu-support-crowdfunding-campaign.md \ + markdown/2019_01_meeting-point-at-fosdem.md \ + markdown/2019_01_replicant-meeting-at-fosdem-2019.md \ + markdown/2019_01_replicant-will-receive-a-device-from-necuno-solutions.md \ + markdown/2019_06_replicant-contributors-meeting-the-2728-july-in-france.md \ + markdown/2019_07_graphics-support-for-replicant-9.md \ + markdown/2019_12_replicant-36c3.md \ + markdown/2020_01_replicant-at-fosdem-2020.md \ + markdown/2020_04_what-could-go-wrong-with-devices-that-have-non-replaceable-batteries.md \ + markdown/2020_07_late-report-from-fosdem-2020.md \ + markdown/2020_12_call-for-a-community-manager.md \ + markdown/2021_05_presenting-replicants-community-manager.md \ + markdown/2021_06_replicant-is-looking-for-volunteers-to-add-support-for-the-gsd4t-gps-chip.md \ + markdown/2022_06_new-replicant-6-0-0004-release-and-replicant-11-status.md \ + markdown/2023_02_replicant-at-fosdem-2023.md \ + markdown/2023_12_replicant-37c3.md \ + markdown/2024_03_replicant-status-and-report-of-the-37c3-and-fosdem-2024-conferences.md \ + $(SENTINEL) + all: help wordpress/articles: @@ -60,48 +175,22 @@ generate-wordpress-articles: build python3 haunthtml2wordpress.py \ ./site/replicant-status-and-report-of-the-37c3-and-fosdem-2024-conferences.html -links.txt: $(PAGES) +links.txt: $(WORDPRESS_PAGES) @echo -n '' > $@ - @for f in $(PAGES) ; do \ + @for f in $(WORDPRESS_PAGES) ; do \ echo "Processing $$f" > /dev/stderr ; \ guix shell -C python python-beautifulsoup4 -- \ python3 get_links.py $$f | sort -u >> $@ ; \ done -# do not depend on links.txt as a human is supposed to review it manually -html: wordpress/articles - mkdir -p $@ && \ - for url in `cat links.txt` ; do \ - if [ ! -f wordpress/articles/`echo "$${url}" | \ - sed 's#https://blog.replicant.us/##' | \ - sed 's#/$$##'| \ - sed 's#/#_#g'`.html ] ; then \ - curl "$${url}" -o \ - wordpress/articles/`echo "$${url}" | \ - sed 's#https://blog.replicant.us/##' | \ - sed 's#/$$##'| \ - sed 's#/#_#g'`.html ; \ - fi \ - done - # TODO: erase wordpress/articles directory if that fails for - # some reason. - -markdown: html - mkdir -p $@ && \ - for url in `cat links.txt` ; do \ - echo "$${url}" | \ - sed 's#https://blog.replicant.us/##' | \ - sed 's#/$$##' ; \ - $(CONVERT) \ - wordpress/articles/`echo "$${url}" | \ - sed 's#https://blog.replicant.us/##' | \ - sed 's#/$$##'| \ - sed 's#/#_#g'`.html \ - markdown/`echo "$${url}" | \ - sed 's#https://blog.replicant.us/##' | \ - sed 's#/$$##'| \ - sed 's#/#_#g'`.md ; \ - done +wordpress/articles/%.html: + curl "$(guile $(get-wordpress-article-url))" -o $@ + +markdown/%.md: wordpress/articles/%.html + mkdir -p markdown + $(CONVERT) $^ $@ + +markdown: $(MARKDOWN_ARTICLES) $(VENDOR_REPLICANT_ARTWORK_PATH): git clone \ @@ -139,7 +228,7 @@ help: "make links.txt # Create links.txt file with blog post links." \ " # For security reasons This file needs to be manually" \ " # reviewed manually before usage." \ - "make -B markdown # recreate markdown pages. To be done after reviewing links.txt." \ + "make markdown # create markdown pages. To be done after reviewing links.txt." \ "make check # Run tests." \ serve: |
