aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Import .dir-locals.el from Guix.Denis 'GNUtoo' Carikli2025-06-151-0/+238
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When opening a file in this repository with Emacs, Emacs will prompt something like that: The local variables list in <path/to/haunt-blog/directory> or .dir-locals.el contains values that may not be safe (*). Do you want to apply it? You can type y -- to apply the local variables list. [...] If 'y' is selected, Emacs will then use settings from that file that help formatting scheme files correctly for inclusion in GNU Guix. Since this repository use Guile and scheme, it makes sense to use a given a specific formatting for scheme files. Other projects than Guix also have similar files (for instance Guile), though the Guix file has well documented copyrights and Guix also have a 'guix style' command that can be used to reformat files which shows that Guix does really care about formatting, so it looks a good package to reuse the .dir-locals.el from. Note that Emacs also asks the same question for non-scheme files but so far I didn't find any problematic behavior with other files. .dir-locals.el was imported from the Guix commit db523cfaa834ac9778f436e7f94647508733c0a1 ("dir-locals: Add copyrights."), so the Copyrights were also verified upstream during the review of the db523cfaa834ac9778f436e7f94647508733c0a1 patch. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* Use from WordPress.Denis 'GNUtoo' Carikli2025-06-151-1/+2
| | | | | | | Some links had to be adjusted manually in WordPress before publishing it, probably due to some linebreak that broke markdown links. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* top bar: make blog link work with localhost.Denis 'GNUtoo' Carikli2025-06-151-1/+1
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* top bar: make search page work with localhost.Denis 'GNUtoo' Carikli2025-06-151-1/+1
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* Finally sign the petition to support NLnet.Denis 'GNUtoo' Carikli2025-06-152-1/+298
| | | | | | | | | | | | | | | | | | | | | | | | I took the occasion of adding our views on NLnet funding as this is probably something that not a lot of people see from the outside. In order to increase the impact of signing the petition, I also wanted to add some background about the strategic importance of the work NLnet is doing and put that in a broader historic context, whose impact go beyond the free software movement. However it took some time as I had some difficulties writing the end of the text in a way that didn't require too much political knowledge, that was not tied to a specific set of countries (even in the European Union, some of the member countries have very different histories) and that also worked accross a wide set of political affiliations. In addition due to various issues from all the people involved (me included), the back and forth between reviews and new versions of the text also took some time. Thanks a lot to to Joonas Kylmälä for the review of the markdown file. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* Use first_online_replicant_meeting from Wordpress.Denis 'GNUtoo' Carikli2025-06-152-460/+455
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* Makefile: GUIX_SHELL: remove duplicated -C argument.Denis 'GNUtoo' Carikli2025-06-151-3/+3
| | | | | | | | | | | | Many calls to GUIX_SHELL like 'HAUNT ?= $(GUIX_SHELL) -C' already use the -C argument. This removes duplicated -C by removing it from GUIX_SHELL instead of removing the -C in all the calls as it makes overriding GUIX_SHELL easier, and always having the -C ensure that the host environment doesn't leak in the build process, improving reproducibility. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* markdown: first_online_replicant_meeting: Fix CEST link.Denis 'GNUtoo' Carikli2025-06-151-1/+1
| | | | | | Thanks a lot to the person who spoted the mistake. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* markdown: Add blog post about the first online Replicant meeting.Denis 'GNUtoo' Carikli2025-06-153-5/+84
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* Makefile: use guile-next to drop backported patch.Denis 'GNUtoo' Carikli2025-06-151-4/+4
| | | | | | | | | | | | The patch we used was merged in the Guile commit bc2c612b89d3c4e7ef017a417af25b50f92fccee ("SRFI-19: Add support for ISO 8601 zones with a colon."). And Guix, since the commit b1365a032613e7756aca892a7422fda0b26b0627 ("gnu: guile-next: Update to commit 3b76a30."), updated guile-next to use a revision that has the patch we need. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* Makefile: help: document 'make serve'.Denis 'GNUtoo' Carikli2025-06-151-1/+2
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* Makefile: rename deploy target to publish.Denis 'GNUtoo' Carikli2025-06-151-3/+3
| | | | | | Haunt uses 'haunt publish' to deploy a website. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* Makefile: fix haunt serve.Denis 'GNUtoo' Carikli2025-06-151-3/+3
| | | | | | | | | | | | | | | | | | | We need to tell guix shell to allow network connections otherwise haunt serve doesn't work. In addition running haunt serve directly without haunt build results in a page with the 'Resource not found: /' text on it. And after several refresh we still have the same page. Then at some point after a git commit we can see the following in the terminal: watch: observed write '[...]/haunt-blog/.git/COMMIT_EDITMSG' rebuilding... and it rebuilds the website. So it's better to have the 'serve' target depend on the 'build' target to have the wesite work right away. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* Use a less common port.Denis 'GNUtoo' Carikli2025-06-152-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | When working on multiple websites the same time, having every website using the port 8080 by default isn't very convenient. In addition here we need a number that is somewhat easy to remember and possibly meaningful for each website, so in general that not easy to choose. But since ports over 1024 can usually be used by non-root users, we can also use years. And the book "Do Androids Dream of Electric Sheep?" by Phillip K. Dick was published in 1968. As I remember the name 'Replicant' was found by Bradley Kuhn and comes from both Blade Runner and the fact that we 'Replicate' the Android operating system with fully free software. And since so having a number that is at the same time the year of publication of that book, and also where events probably happened in every place around the world or in people's lives could help remember it. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* search: simplify page.Denis 'GNUtoo' Carikli2025-06-152-39/+8
| | | | | | | With make-page we can simply create pages and include them in the builders. We then pass the page content to the layout and it works. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* search: repair page.Denis 'GNUtoo' Carikli2025-06-152-4/+20
| | | | | | | | | | | | The search page is based on the website/builders/replicant-blog.scm page, and I started from there and tried to minimize the amount of code added to avoid duplication between the two pages. During that process, for some reasons my browser showed an old version of the page, and so I kept removing code and didn't see when it reverted to listing the articles. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* Makefile: add forgetten HAUNT_PORT.Denis 'GNUtoo' Carikli2025-06-151-0/+2
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* search: fix link.Denis 'GNUtoo' Carikli2025-06-151-1/+1
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* Add search page with instruction on how to search.Denis 'GNUtoo' Carikli2025-06-154-4/+119
| | | | | | | | | | | | | While the search could be implemented with things like Xapian which is available in most GNU/Linux distributions, not only this could be a lot of work, but it also makes the site not static anymore, which increase the attack surface of the server that runs the search. And finally it teach users the bad practice of relying on SAASS (service as a software substitute) or equivalent instead of doing the work themselves on their computers with the tools they want. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* Makefile: tests: run them in parallel.Denis 'GNUtoo' Carikli2025-06-151-1/+12
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* Rename convert.py to wordpresshtml2commonmark.py.Denis 'GNUtoo' Carikli2025-06-152-1/+1
| | | | | | The new name reflects more the goal of this script. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* tests: add forgetten test filesDenis 'GNUtoo' Carikli2025-06-154-0/+598
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* Makefile: move scheme code in build/Denis 'GNUtoo' Carikli2025-06-152-39/+54
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* Makefile: add target to automatically update the articles list.Denis 'GNUtoo' Carikli2025-06-154-5/+181
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* Makefile: html/markdown: use real make targets.Denis 'GNUtoo' Carikli2025-06-151-41/+130
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* Makefile: help: printf: fix number of arguments.Denis 'GNUtoo' Carikli2025-06-151-2/+2
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* 37c3/FOSDEM 2024: Add Wordpress link, move CommonMark file.Denis 'GNUtoo' Carikli2025-06-152-0/+1
| | | | | | | | | | | | The existing CommonMark file was moved in the place where the html would be converted to CommonMark. When running 'make markdown', this avoids silently having two similar files under different names in the markdown directory. Instead any modifications of the file would show up in git and could be caught by humans more easily. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* Update guile patch by backporting merged patch.Denis 'GNUtoo' Carikli2025-06-152-18/+16
| | | | | | | | | | | The guile patch was finally merged upstream in the commit bc2c612b89d3c4e7ef017a417af25b50f92fccee ("SRFI-19: Add support for ISO 8601 zones with a colon."). Since the patch changed a bit since the initial version, I backported the upstream commit. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* convert.py: licensing: Also add in Joonas's permission.Denis 'GNUtoo' Carikli2025-06-152-0/+7
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* haunt: Add Atom and RSS feeds.Denis 'GNUtoo' Carikli2025-06-151-1/+9
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* haunt: sort posts by most recent first.Denis 'GNUtoo' Carikli2025-06-151-1/+6
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* convert.py: licensing: Add permission for all blog posts authors's comments.Denis 'GNUtoo' Carikli2025-06-151-0/+7
| | | | | | | | Some people who are not blog post authors commented though so we'd have to look at what to do with these. They can probably be archived and displayed as well like a mailing list would be. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* convert.py, markdown: Add in new licenses.Denis 'GNUtoo' Carikli2025-06-1556-1/+96
| | | | | | We now have a valid license for each of the articles. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* markdown: 37C3/FOSDEM 2024 report: Add authorship information.Denis 'GNUtoo' Carikli2025-06-151-0/+1
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* tests.sh: Also test authorsihp information.Denis 'GNUtoo' Carikli2025-06-151-1/+9
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* tests.sh: fix license checks.Denis 'GNUtoo' Carikli2025-06-151-1/+1
| | | | | | | | This was broken from the start with the commit d4c78bb24dcc052a318dc73da8fc734d372394b2 ("Add very primitive tests."). Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* haunt: Add metadata in the articles.Denis 'GNUtoo' Carikli2025-06-152-0/+22
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* markdown: 37C3/FOSDEM 2024 report: Add License.Denis 'GNUtoo' Carikli2025-06-151-0/+1
| | | | | | The two authors (dllud and GNUtoo) already agreed to use this license. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* tests: Add licensing checks for CommonMark files.Denis 'GNUtoo' Carikli2025-06-151-0/+10
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* convert.py, markdown: use UTF-8.Denis 'GNUtoo' Carikli2025-06-1515-62/+69
| | | | | | | | | | | | | | | | | Guile use ISO-8859-1 by default for ports. Since the markdown contain some UTF-8 characters, the resulting HTML ended up with unknown characters replaced by some '??'. Converting some dashes or quotes to ASCII equivalent was done in previous commits and was not a big issue, but some files also have characters with accents, so keeping most of the UTF-8 characters as-is and moving directly to UTF-8 is a better solution. Some characters still don't work, and end up in some haunt build errors (which is better than silent faillures like before). They all have valid equivalents so they were replaced by their equivalents. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* Makefile: help: Document build and deploy targets.Denis 'GNUtoo' Carikli2025-06-151-0/+2
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* Makefile, links.txt: sort links to make it more reproducible.Denis 'GNUtoo' Carikli2025-06-152-61/+61
| | | | | | | | Without that fix, the order of the links.txt differs, and running 'make links.txt' often changes the order of the lines, making it harder to review any changes. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* Makefile: help: fix outdated markdown target documentation.Denis 'GNUtoo' Carikli2025-06-151-5/+5
| | | | | | | | Since the commit 24ba2134fae77c76af8ab5880e1b21b519ed5941 ("Add generated markdown files."), we now have markdown files in git, so we need to force their recreation with make -B. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* Add very primitive tests.Denis 'GNUtoo' Carikli2025-06-153-0/+48
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* convert.py, markdown: fix quotes.Denis 'GNUtoo' Carikli2025-06-157-37/+43
| | | | | | | | | Without this fix, site/new-replicant-60-0004-release-and-replicant-11-status.html has: "As for the details on what constitute a ???replaceable battery???, [...]". Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* convert.py: add output-file argument.Denis 'GNUtoo' Carikli2025-06-152-7/+11
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* markdown: regenerate after tags/licenses changes.Denis 'GNUtoo' Carikli2025-06-1571-86/+86
| | | | | | | For some reasons tags and licenses are moved in the metadata header, so we need to add-in the changes to the generated markdown files. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* convert.py: fix tags and licenses line breaks.Denis 'GNUtoo' Carikli2025-06-151-2/+2
| | | | | | | This was broken in the commit 32c41425a104e2a309f78507e31c578efa0fe632 ("convert.py: metadata: Convert prints to strings."). Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* convert.py: metadata: Convert prints to strings.Denis 'GNUtoo' Carikli2025-06-151-2/+2
| | | | | | The get_metadata function was supposed to return text not print it. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* convert.py: Improve help.Denis 'GNUtoo' Carikli2025-06-151-2/+2
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>