Compare commits

..

6 commits

Author SHA1 Message Date
a398d3a6d9
{footer,index}: add mention of GRIP-UQAM
All checks were successful
/ render (push) Successful in 37s
2025-06-12 16:46:20 -04:00
ayakael
76360bcc2f
*: fix grammar errors
All checks were successful
/ render (push) Successful in 38s
2025-04-03 18:49:30 -04:00
78a1b6627f
join: migrate registration form to Forgejo backend
Some checks failed
/ preview (pull_request) Successful in 41s
/ render (push) Successful in 41s
/ cleanup (pull_request) Failing after 25s
2025-04-03 18:41:13 -04:00
aec1460de9
ci: move to pages server
All checks were successful
/ render (push) Successful in 37s
2025-03-31 20:28:00 -04:00
2f88882e0d
footer: update newsletter
All checks were successful
/ render (push) Successful in 37s
2025-03-23 16:09:33 -04:00
1fb1da0413
footer: update newsletter uuid
All checks were successful
/ render (push) Successful in 36s
2025-03-13 17:51:31 -04:00
23 changed files with 171 additions and 126 deletions

View file

@ -11,12 +11,11 @@ jobs:
- name: Environment setup - name: Environment setup
run: | run: |
apk add git nodejs jq coreutils curl tree gawk grep apk add git nodejs jq coreutils curl tree gawk grep
- name: Public repo pull - name: Pages repo pull
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
fetch-depth: 0 fetch-depth: 0
token: ${{ secrets.PAGES_TOKEN }} ref: pages
ref: public
- name: Render website - name: Render website
run: | run: |
export GITHUB_PR_NAME=$(grep -l ${{ github.sha }} previews/*/git_sha.txt | awk -F '/' '{print $2}') export GITHUB_PR_NAME=$(grep -l ${{ github.sha }} previews/*/git_sha.txt | awk -F '/' '{print $2}')

View file

@ -1,27 +0,0 @@
on:
push:
branches:
- 'public'
jobs:
deploy:
runs-on: x86_64
container: alpine:latest
env:
GIT_SSH_COMMAND: ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no
steps:
- name: Environment setup
run: |
apk add git nodejs openssh-client-common openssh-client-default
- name: Start ssh-agent
uses: actions/ssh-agent@v0.9.0
with:
ssh-private-key: ${{ secrets.PAGES_PRIVKEY }}
- name: Repo pull
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Website upload
run: |
git remote set-url origin ${{ vars.PAGES_TARGET }}
git push -f

View file

@ -11,28 +11,27 @@ jobs:
steps: steps:
- name: Environment setup - name: Environment setup
run: | run: |
apk add git ikiwiki po4a perl-yaml-tiny tree nodejs apk add git ikiwiki po4a perl-yaml-tiny tree nodejs imagemagick-perlmagick imagemagick imagemagick-jpeg findutils bash imagemagick-webp
- name: Repo pull - name: Repo pull
uses: https://github.com/actions/checkout@v4 uses: actions/checkout@v4
with: with:
fetch-depth: 1 fetch-depth: 1
token: ${{ secrets.PAGES_TOKEN }} - name: Pages repo pull
- name: Public repo pull uses: actions/checkout@v4
uses: https://github.com/actions/checkout@v4
with: with:
fetch-depth: 0 fetch-depth: 0
ref: public ref: pages
path: public path: public
token: ${{ secrets.PAGES_TOKEN }}
- name: Render website - name: Render website
run: ikiwiki --setup ikiwiki.setup run: ikiwiki --setup ikiwiki.setup
- name: Website upload - name: Website upload
run: | run: |
rm -Rf public/.forgejo cp .pages-domains public/.domains
mkdir -p public/.forgejo/workflows cp .pages-redirect public/_redirects
cp .forgejo/workflows/deploy.yaml public/.forgejo/workflows/.
git log -1 --pretty=%B > commit.txt git log -1 --pretty=%B > commit.txt
cd public cd public
find -name 'index.html' -type 'l' -delete
find -name 'index.fr.html' -exec bash -c 'ln -s "${0/.*\/}" "${0/.fr/}"' {} \;
date > generated.txt date > generated.txt
# Note: the following account information will not work on GHES # Note: the following account information will not work on GHES
git config user.name "forgejo-actions[bot]" git config user.name "forgejo-actions[bot]"

View file

@ -10,20 +10,18 @@ jobs:
steps: steps:
- name: Environment setup - name: Environment setup
run: | run: |
apk add git ikiwiki po4a perl-yaml-tiny tree nodejs jq coreutils curl apk add git ikiwiki po4a perl-yaml-tiny tree nodejs jq coreutils curl imagemagick-perlmagick imagemagick imagemagick-jpeg findutils bash imagemagick-webp
echo "GITHUB_PR_NAME=$(curl -Ls ${{ github.server_url }}/api/v1/repos/${{ github.repository }}/pulls/${{ github.ref_name }} | jq .title | tr ' ' '-' | tr -d ':' | tr -d '"' | tr '[:upper:]' '[:lower:]' | tr '/' '-')" >> $GITHUB_ENV echo "GITHUB_PR_NAME=$(curl -Ls ${{ github.server_url }}/api/v1/repos/${{ github.repository }}/pulls/${{ github.ref_name }} -H 'accept: application/json' -H 'Authorization: token ${{ secrets.FORGEJO_TOKEN }}' | jq .title | tr ' ' '-' | tr -d ':' | tr -d '"' | tr '[:upper:]' '[:lower:]' | tr '/' '-' | tr -d ',')" >> $GITHUB_ENV
- name: Repo pull - name: Repo pull
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
fetch-depth: 1 fetch-depth: 1
token: ${{ secrets.PAGES_TOKEN }}
- name: Public repo pull - name: Public repo pull
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
fetch-depth: 0 fetch-depth: 0
ref: public ref: pages
path: public path: public
token: ${{ secrets.PAGES_TOKEN }}
- name: Render website - name: Render website
run: | run: |
rm -rf public/previews/$GITHUB_PR_NAME || true rm -rf public/previews/$GITHUB_PR_NAME || true
@ -32,11 +30,11 @@ jobs:
ikiwiki --setup ikiwiki.setup ikiwiki --setup ikiwiki.setup
cd public/previews cd public/previews
tree -d -H '.' -L 1 --noreport --charset utf-8 -T "Versions" -o index.html tree -d -H '.' -L 1 --noreport --charset utf-8 -T "Versions" -o index.html
cd $GITHUB_PR_NAME
find -name 'index.html' -type 'l' -delete
find -name 'index.fr.html' -exec bash -c 'ln -s "${0/.*\/}" "${0/.fr/}"' {} \;
- name: Website upload - name: Website upload
run: | run: |
rm -Rf public/.forgejo
mkdir -p public/.forgejo/workflows
cp .forgejo/workflows/deploy.yaml public/.forgejo/workflows/.
git log -1 --pretty=%B > commit.txt git log -1 --pretty=%B > commit.txt
cd public cd public
date > previews/$GITHUB_PR_NAME/generated.txt date > previews/$GITHUB_PR_NAME/generated.txt

1
.pages-domains Normal file
View file

@ -0,0 +1 @@
www.ilot.io

0
.pages-redirect Normal file
View file

Binary file not shown.

View file

@ -7,8 +7,8 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: ilot.io\n" "Project-Id-Version: ilot.io\n"
"POT-Creation-Date: 2025-03-13 17:34-0400\n" "POT-Creation-Date: 2025-06-12 16:36-0400\n"
"PO-Revision-Date: 2025-03-13 17:36-0400\n" "PO-Revision-Date: 2025-06-12 16:44-0400\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: dev@ayakael.net\n" "Language-Team: dev@ayakael.net\n"
"Language: fr\n" "Language: fr\n"
@ -19,7 +19,7 @@ msgstr ""
#. type: Content of: <p><div><div><div><h5> #. type: Content of: <p><div><div><div><h5>
msgid "Support" msgid "Support"
msgstr "Soutient" msgstr "Soutien"
#. type: Content of: <p><div><div><div><ul><li> #. type: Content of: <p><div><div><div><ul><li>
msgid "[[FAQs|https://support.ilot.io/en/hc/706927618]]" msgid "[[FAQs|https://support.ilot.io/en/hc/706927618]]"
@ -31,7 +31,7 @@ msgstr "[[Problèmes connus|https://forge.ilot.io/ilot/-/projects/3]]"
#. type: Content of: <p><div><div><div><ul><li> #. type: Content of: <p><div><div><div><ul><li>
msgid "[[Support ticket|https://support.ilot.io/help/706927618]]" msgid "[[Support ticket|https://support.ilot.io/help/706927618]]"
msgstr "[[Soutient technique|https://support.ilot.io/help/706927618]]" msgstr "[[Soutien technique|https://support.ilot.io/help/706927618]]"
#. type: Content of: <p><div><div><div><h5> #. type: Content of: <p><div><div><div><h5>
msgid "Contribute" msgid "Contribute"
@ -87,8 +87,8 @@ msgstr ""
#. type: Content of: <p><div><div><div><form> #. type: Content of: <p><div><div><div><form>
msgid "" msgid ""
"<input type=\"hidden\" name=\"nonce\" /> <input id=\"9c490\" type=\"hidden\" " "<input type=\"hidden\" name=\"nonce\" /> <input id=\"39425\" type=\"hidden\" "
"name=\"l\" value=\"9c490957-b50b-4162-898d-92259e350cd6\" />" "name=\"l\" value=\"39425113-44b5-46f7-9897-91151467b05f\" />"
msgstr "" msgstr ""
#. type: Content of: <p><div><div><div><form><div> #. type: Content of: <p><div><div><div><form><div>
@ -129,6 +129,14 @@ msgstr ""
"dismiss=\"modal\">Fermer</button> <button aria-label=\"Subscribe\" " "dismiss=\"modal\">Fermer</button> <button aria-label=\"Subscribe\" "
"class=\"btn\" type=\"submit\">S'abonner</button>" "class=\"btn\" type=\"submit\">S'abonner</button>"
#. type: Content of: <p><div><div><div><p>
msgid ""
"Ilot is a <a href=\"https://gripuqam.org\" target=\"_blank\">GRIP-UQAM</a> "
"working group"
msgstr ""
"Ilot est un comité du <a href=\"https://gripuqam.org\" "
"target=\"_blank\">GRIP-UQAM"
#, fuzzy #, fuzzy
#~| msgid "[[Wiki|https://wiki.ilot.io]]" #~| msgid "[[Wiki|https://wiki.ilot.io]]"
#~ msgid "Powered by [[ikiwiki|http://ikiwiki.info/]]." #~ msgid "Powered by [[ikiwiki|http://ikiwiki.info/]]."

View file

@ -48,7 +48,7 @@
</script> </script>
<input type="hidden" name="nonce" /> <input type="hidden" name="nonce" />
<input id="9c490" type="hidden" name="l" value="9c490957-b50b-4162-898d-92259e350cd6" /> <input id="39425" type="hidden" name="l" value="39425113-44b5-46f7-9897-91151467b05f" />
<div class="t"> <div class="t">
<input aria-label="Email" class="btn" type="email" name="email" required placeholder="E-mail" /> <input aria-label="Email" class="btn" type="email" name="email" required placeholder="E-mail" />
</div> </div>
@ -74,6 +74,9 @@
</form> </form>
</div> </div>
<div class="col-12 text-center">
<hr />
<p>Ilot is a <a href="https://gripuqam.org" target="_blank">GRIP-UQAM</a> working group</p>
</div> </div>
</div> </div>
</p> </p>

View file

@ -7,7 +7,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2025-03-13 17:34-0400\n" "POT-Creation-Date: 2025-06-12 16:45-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -86,8 +86,8 @@ msgstr ""
#. type: Content of: <p><div><div><div><form> #. type: Content of: <p><div><div><div><form>
msgid "" msgid ""
"<input type=\"hidden\" name=\"nonce\" /> <input id=\"9c490\" type=\"hidden\" " "<input type=\"hidden\" name=\"nonce\" /> <input id=\"39425\" type=\"hidden\" "
"name=\"l\" value=\"9c490957-b50b-4162-898d-92259e350cd6\" />" "name=\"l\" value=\"39425113-44b5-46f7-9897-91151467b05f\" />"
msgstr "" msgstr ""
#. type: Content of: <p><div><div><div><form><div> #. type: Content of: <p><div><div><div><form><div>
@ -119,3 +119,9 @@ msgid ""
"data-bs-dismiss=\"modal\">Close</button> <button aria-label=\"Subscribe\" " "data-bs-dismiss=\"modal\">Close</button> <button aria-label=\"Subscribe\" "
"class=\"btn\" type=\"submit\">Subscribe</button>" "class=\"btn\" type=\"submit\">Subscribe</button>"
msgstr "" msgstr ""
#. type: Content of: <p><div><div><div><p>
msgid ""
"Ilot is a <a href=\"https://gripuqam.org\" target=\"_blank\">GRIP-UQAM</a> "
"working group"
msgstr ""

View file

@ -46,6 +46,7 @@ add_plugins:
- typography - typography
- sidebar2 - sidebar2
- po - po
- inline
# plugins to disable # plugins to disable
disable_plugins: disable_plugins:
- htmlscrubber - htmlscrubber

Binary file not shown.

View file

@ -5,15 +5,15 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: ilot.io\n" "Project-Id-Version: ilot.io\n"
"POT-Creation-Date: 2024-09-08 12:28-0400\n" "POT-Creation-Date: 2025-06-12 16:42-0400\n"
"PO-Revision-Date: 2024-09-08 12:33-0400\n" "PO-Revision-Date: 2025-06-12 16:45-0400\n"
"Last-Translator: Philippe Batailler <philippe.batailler@free.fr>\n" "Last-Translator: Philippe Batailler <philippe.batailler@free.fr>\n"
"Language-Team: dev@ayakael.net\n" "Language-Team: dev@ayakael.net\n"
"Language: fr\n" "Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.4.3\n" "X-Generator: Poedit 3.5\n"
#. type: Plain text #. type: Plain text
#, no-wrap #, no-wrap
@ -37,49 +37,23 @@ msgstr ""
#. type: Plain text #. type: Plain text
msgid "" msgid ""
"[[ilot|https://ilot.io]] is a cooperative corner of the internet. We operate " "[[ilot|https://ilot.io]] is a cooperative corner of the internet. We operate a Nextcloud instance, a free and open-source collaboration platform analoguous to Google Drive. We aim to eventually incorporate as a cooperative to create a digital infrastructure that is by and for its users as an "
"a Nextcloud instance, a free and open-source collaboration platform " "alternative to the siloed and privatized internet of today. Members fund our operations and decide how to set our community policies, steward our data, and manage our shared technologies. Members also provide the labor to run ilot at all levels."
"analoguous to Google Drive. We aim to eventually incorporate as a "
"cooperative to create a digital infrastructure that is by and for its users "
"as an alternative to the siloed and privatized internet of today. Members "
"fund our operations and decide how to set our community policies, steward "
"our data, and manage our shared technologies. Members also provide the labor "
"to run ilot at all levels."
msgstr "" msgstr ""
"[[ilot|https://ilot.io]] est une isle coopérative de l'internet. Nous " "[[ilot|https://ilot.io]] est une ile coopérative de l'internet. Nous administrons une instance de Nextcloud, une plateforme libre de travail et de stockage de donnée analogue à Google Drive. Notre objectif est de nous constituer en coopérative afin de créer une infrastructure numérique par et pour "
"administrons une instance de Nextcloud, une plateformes libre de travail et " "ses utilisateur-ice-s, en alternative à l'internet cloisonné et privatisé d'aujourd'hui. Les membres financent nos opérations et décident de la manière de définir nos politiques communautaires, de gérer nos données et nos technologies partagées. Les membres fournissent également la main-d'œuvre "
"de stockage de donnée analogue à Google Drive. Notre objectif est de nous " "nécessaire au fonctionnement de l'ilot à tous les niveaux."
"constituer en coopérative afin de créer une infrastructure numérique par et "
"pour ses utilisateur-ice-s, en alternative à l'internet cloisonné et "
"privatisé d'aujourd'hui. Les membres financent nos opérations et décident de "
"la manière de définir nos politiques communautaires, de gérer nos données et "
"nos technologies partagées. Les membres fournissent également la main-"
"d'œuvre nécessaire au fonctionnement de l'ilot à tous les niveaux."
#. type: Plain text #. type: Plain text
msgid "" msgid "The project is currently in beta, as there is still a lot of work left to do. While the technical infrastructure is setup and stable, the governance and community guidelines are still a work in progress. If you are interested in joining ilot, visit our [[registration form|join]]."
"The project is currently in beta, as there is still a lot of work left to "
"do. While the technical infrastructure is setup and stable, the governance "
"and community guidelines are still a work in progress. If you are interested "
"in joining ilot, visit our [[registration form|join]]."
msgstr "" msgstr ""
"Le projet est actuellement en version bêta, car il reste encore beaucoup de " "Le projet est actuellement en version bêta, car il reste encore beaucoup de travail à faire. Alors que l'infrastructure technique est mise en place et stable, la gouvernance et les lignes directrices de la communauté sont encore en cours d'élaboration. Si vous souhaitez vous joindre à notre projet, "
"travail à faire. Alors que l'infrastructure technique est mise en place et " "compléter notre [[formulaire d'inscription|join]]."
"stable, la gouvernance et les lignes directrices de la communauté sont "
"encore en cours d'élaboration. Si vous souhaitez rejoindre ilot, visitez "
"notre [[formulaire d'inscription|join]]."
#. type: Plain text #. type: Plain text
msgid "" #, no-wrap
"ilot was started in 2021 when AESA-CIRI, the sociology, anthropology and " msgid "ilot was started in 2021 when AESA-CIRI, the sociology, anthropology and immigration studies sudent association of UQAM, wanted to create its own digital infrastructure. Since then, we have worked toward the goal of making the project useful to other organisations and individuals. Since march of 2025, we are a fiscally sponsored by <a href=\"https://gripuqam.org\" target=\"_blank\">GRIP-UQAM</a>.\n"
"immigration studies sudent association of UQAM, wanted to create its own " msgstr "ilot a vu le jour en 2021 lorsque l'AESA-CIRI, l'association des étudiants en sociologie, anthropologie et études de l'immigration de l'UQAM, a voulu créer sa propre infrastructure numérique. Depuis, nous travaillons dans le but de rendre le projet utile à d'autres organisations et individus. Depuis mars 2025, le <a href=\"https://gripuqam.org\" target=\"_blank\">GRIP-UQAM</a> nous héberge fiscalement.\n"
"digital infrastructure. Since then, we have worked toward the goal of making "
"the project useful to other organisations and individuals."
msgstr ""
"ilot a vu le jour en 2021 lorsque l'AESA-CIRI, l'association des étudiants "
"en sociologie, anthropologie et études de l'immigration de l'UQAM, a voulu "
"créer sa propre infrastructure numérique. Depuis, nous travaillons dans le "
"but de rendre le projet utile à d'autres organisations et individus."
#. type: Title ## #. type: Title ##
#, no-wrap #, no-wrap

View file

@ -10,7 +10,7 @@
The project is currently in beta, as there is still a lot of work left to do. While the technical infrastructure is setup and stable, the governance and community guidelines are still a work in progress. If you are interested in joining ilot, visit our [[registration form|join]]. The project is currently in beta, as there is still a lot of work left to do. While the technical infrastructure is setup and stable, the governance and community guidelines are still a work in progress. If you are interested in joining ilot, visit our [[registration form|join]].
ilot was started in 2021 when AESA-CIRI, the sociology, anthropology and immigration studies sudent association of UQAM, wanted to create its own digital infrastructure. Since then, we have worked toward the goal of making the project useful to other organisations and individuals. ilot was started in 2021 when AESA-CIRI, the sociology, anthropology and immigration studies sudent association of UQAM, wanted to create its own digital infrastructure. Since then, we have worked toward the goal of making the project useful to other organisations and individuals. Since march of 2025, we are a fiscally sponsored by <a href="https://gripuqam.org" target="_blank">GRIP-UQAM</a>.
## Learn more ## Learn more

View file

@ -7,7 +7,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2024-09-11 14:44-0400\n" "POT-Creation-Date: 2025-06-12 16:45-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -54,12 +54,14 @@ msgid ""
msgstr "" msgstr ""
#. type: Plain text #. type: Plain text
#, markdown-text #, markdown-text, no-wrap
msgid "" msgid ""
"ilot was started in 2021 when AESA-CIRI, the sociology, anthropology and " "ilot was started in 2021 when AESA-CIRI, the sociology, anthropology and "
"immigration studies sudent association of UQAM, wanted to create its own " "immigration studies sudent association of UQAM, wanted to create its own "
"digital infrastructure. Since then, we have worked toward the goal of making " "digital infrastructure. Since then, we have worked toward the goal of making "
"the project useful to other organisations and individuals." "the project useful to other organisations and individuals. Since march of "
"2025, we are a fiscally sponsored by <a href=\"https://gripuqam.org\" "
"target=\"_blank\">GRIP-UQAM</a>.\n"
msgstr "" msgstr ""
#. type: Title ## #. type: Title ##

Binary file not shown.

View file

@ -7,19 +7,20 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: ilot.io\n" "Project-Id-Version: ilot.io\n"
"POT-Creation-Date: 2024-10-08 11:35-0400\n" "POT-Creation-Date: 2025-04-03 18:26-0400\n"
"PO-Revision-Date: 2024-10-08 11:29-0400\n" "PO-Revision-Date: 2025-04-03 18:47-0400\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: dev@ayakael.net\n" "Language-Team: dev@ayakael.net\n"
"Language: fr\n" "Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.4.3\n" "X-Generator: Poedit 3.5\n"
#. type: Content of: outside any tag (error?) #. type: Content of: outside any tag (error?)
msgid "[[!meta title=\"Join\"]]" msgid "[[!meta title=\"Join\"]] [[!inline pages=\"join/join-en\" raw=\"yes\"]]"
msgstr "[[!meta title=\"Se joindre\"]]" msgstr ""
"[[!meta title=\"Se joindre\"]] [[!inline pages=\"join/join-fr\" raw=\"yes\"]]"
#. type: Content of: <header><h1> #. type: Content of: <header><h1>
msgid "Registration Form" msgid "Registration Form"
@ -220,6 +221,9 @@ msgstr ""
"maxlength=\"50\"></p> <input type=\"button\" value=\"Soumettre\" id = " "maxlength=\"50\"></p> <input type=\"button\" value=\"Soumettre\" id = "
"\"submit\" onClick = \"createIssue()\"> </form>" "\"submit\" onClick = \"createIssue()\"> </form>"
#~ msgid "[[!meta title=\"Join\"]]"
#~ msgstr "[[!meta title=\"Se joindre\"]]"
#~ msgid "" #~ msgid ""
#~ "async function checkDuplicate() { var url='https://lab.ilot.io/api/v4/" #~ "async function checkDuplicate() { var url='https://lab.ilot.io/api/v4/"
#~ "projects/99/issues'; var email = document.getElementById(\"email\")." #~ "projects/99/issues'; var email = document.getElementById(\"email\")."

View file

@ -1,6 +1,6 @@
[[!meta title="Join"]] [[!meta title="Join"]]
<script src="../js/join.js"></script> [[!inline pages="join/join-en" raw="yes"]]
<header class="text-center"> <header class="text-center">
<h1 class="post-title">Registration Form</h1> <h1 class="post-title">Registration Form</h1>

View file

@ -7,7 +7,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2024-10-08 11:35-0400\n" "POT-Creation-Date: 2025-04-03 18:27-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#. type: Content of: outside any tag (error?) #. type: Content of: outside any tag (error?)
msgid "[[!meta title=\"Join\"]]" msgid "[[!meta title=\"Join\"]] [[!inline pages=\"join/join-en\" raw=\"yes\"]]"
msgstr "" msgstr ""
#. type: Content of: <header><h1> #. type: Content of: <header><h1>

View file

@ -1,10 +1,11 @@
<script>
async function checkDuplicate() { async function checkDuplicate() {
var url='https://lab.ilot.io/api/v4/projects/99/issues'; var url='https://forge.ilot.io/api/v1/repos/ilot/registration/issues';
var email = document.getElementById("email").value; var email = document.getElementById("email").value;
const response = await fetch(url, { const response = await fetch(url, {
headers: { headers: {
'PRIVATE-TOKEN': 'glpat-RaoZSW_3XMhkGr19k6Wv', 'authorization': 'token b8d8617bb6049c0e47b7bba5cd0931799f54609c',
'Content-Type': 'application/json', 'Content-Type': 'application/json',
}, },
}) })
@ -20,28 +21,28 @@
} }
async function createIssue() { async function createIssue() {
var baseurl = 'https://lab.ilot.io/api/v4/projects/99/issues?&labels=Request'; var url = 'https://forge.ilot.io/api/v1/repos/ilot/registration/issues';
var mathspamtrap = document.getElementById("math-spam-trap").value; var mathspamtrap = document.getElementById("math-spam-trap").value;
var agreetoterms = document.getElementById("agree-to-terms").checked; var agreetoterms = document.getElementById("agree-to-terms").checked;
var email = document.getElementById("email").value; var email = document.getElementById("email").value;
if(!agreetoterms) { if(!agreetoterms) {
alert("Registration requires agreement of Code of Conduct"); alert("Registration requires agreement of Code of Conduct.");
return false; return false;
} }
if(!email) { if(!email) {
alert("Email cannot be empty"); alert("Email cannot be empty.");
return false; return false;
} }
if(mathspamtrap != "9") { if(mathspamtrap != "9") {
alert("Wrong math answer"); alert("Wrong math answer.");
return false; return false;
} }
if(await checkDuplicate(email) === true) { if(await checkDuplicate(email) === true) {
alert("This email address has already requested an account"); alert("This email address has already requested an account.");
return false; return false;
} }
@ -49,29 +50,28 @@
var name = name.replace (/^/,'Name: '); var name = name.replace (/^/,'Name: ');
var aboutme = document.getElementById("about-me").value; var aboutme = document.getElementById("about-me").value;
var aboutme = aboutme.replace (/^/,'About me: '); var aboutme = aboutme.replace (/^/,'About me: ');
var aboutme = aboutme.replace(/\r?\n/g, "%0A%0A");
var howfound = document.getElementById("how-found").value; var howfound = document.getElementById("how-found").value;
var howfound = howfound.replace (/^/,'How I found ilot: '); var howfound = howfound.replace (/^/,'How I found ilot: ');
var howfound = howfound.replace(/\r?\n/g, "%0A%0A");
var ocuser = document.getElementById("oc-user").value; var ocuser = document.getElementById("oc-user").value;
var ocuser = ocuser.replace (/^/,'OpenCollective Profile: '); var ocuser = ocuser.replace (/^/,'OpenCollective Profile: ');
var description = name + "%0A%0A" + aboutme + "%0A%0A" + howfound + "%0A%0A" + ocuser; var description = name + "\n\n" + aboutme + "\n\n" + howfound + "\n\n" + ocuser;
var url = baseurl.concat("&title=", email, "&description=", description);
console.log('Description:', description); console.log('Description:', description);
fetch(url, { fetch(url, {
method: 'POST', method: 'POST',
headers: { headers: {
'PRIVATE-TOKEN': 'glpat-RaoZSW_3XMhkGr19k6Wv', 'authorization': 'token b8d8617bb6049c0e47b7bba5cd0931799f54609c',
'Content-Type': 'application/json', 'Content-Type': 'application/json',
}, },
body: JSON.stringify({ title: email, body: description }),
}) })
.then(response => response.json()) .then(response => response.json())
.then(result => { .then(result => {
console.log('Success:', result); console.log('Success:', result);
alert("Request submitted. A working group member will process your registration shortly. If you receive no contact within seven days of registration, please send an email to support@ilot.io"); alert("Request submitted. A working group member will process your registration shortly. If you receive no contact within seven days of registration, please send an email to support@ilot.io.");
}) })
.catch(error => { .catch(error => {
console.error('Error:', error) console.error('Error:', error)
}); });
} }
</script>

77
join/join-fr.html Normal file
View file

@ -0,0 +1,77 @@
<script>
async function checkDuplicate() {
var url='https://forge.ilot.io/api/v1/repos/ilot/registration/issues';
var email = document.getElementById("email").value;
const response = await fetch(url, {
headers: {
'authorization': 'token b8d8617bb6049c0e47b7bba5cd0931799f54609c',
'Content-Type': 'application/json',
},
})
const result = await response.json();
let index = result
.findIndex(item => item.title === email);
if (index !== -1) {
return true;
} else {
return false;
}
}
async function createIssue() {
var url = 'https://forge.ilot.io/api/v1/repos/ilot/registration/issues';
var mathspamtrap = document.getElementById("math-spam-trap").value;
var agreetoterms = document.getElementById("agree-to-terms").checked;
var email = document.getElementById("email").value;
if(!agreetoterms) {
alert("Vous devez être en accord avec notre code de conduite.");
return false;
}
if(!email) {
alert("Le courriel ne peut pas être vide.");
return false;
}
if(mathspamtrap != "9") {
alert("Ceci n'est pas la bonne réponse à l'exercise mathématique.");
return false;
}
if(await checkDuplicate(email) === true) {
alert("Ce courriel a déjà fait l'objet d'une demande de compte.");
return false;
}
var name = document.getElementById("name").value;
var name = name.replace (/^/,'Name: ');
var aboutme = document.getElementById("about-me").value;
var aboutme = aboutme.replace (/^/,'About me: ');
var howfound = document.getElementById("how-found").value;
var howfound = howfound.replace (/^/,'How I found ilot: ');
var ocuser = document.getElementById("oc-user").value;
var ocuser = ocuser.replace (/^/,'OpenCollective Profile: ');
var description = name + "\n\n" + aboutme + "\n\n" + howfound + "\n\n" + ocuser;
console.log('Description:', description);
fetch(url, {
method: 'POST',
headers: {
'authorization': 'token b8d8617bb6049c0e47b7bba5cd0931799f54609c',
'Content-Type': 'application/json',
},
body: JSON.stringify({ title: email, body: description }),
})
.then(response => response.json())
.then(result => {
console.log('Success:', result);
alert("Votre demande a été soumise. Un membre d'un groupe de travail va traiter votre demande sous peu. Si vous ne recevez pas de nouvelle d'ici sept jours, contactez-vous via support@ilot.io.");
})
.catch(error => {
console.error('Error:', error)
});
}
</script>

Binary file not shown.

View file

@ -8,14 +8,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: ilot.io\n" "Project-Id-Version: ilot.io\n"
"POT-Creation-Date: 2024-09-08 12:48-0400\n" "POT-Creation-Date: 2024-09-08 12:48-0400\n"
"PO-Revision-Date: 2024-09-08 12:49-0400\n" "PO-Revision-Date: 2025-04-03 18:49-0400\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: dev@ayakael.net\n" "Language-Team: dev@ayakael.net\n"
"Language: fr\n" "Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.4.3\n" "X-Generator: Poedit 3.5\n"
#. type: Plain text #. type: Plain text
#, no-wrap #, no-wrap
@ -56,7 +56,7 @@ msgid ""
"management of the other platforms, and they are here to give you an overview " "management of the other platforms, and they are here to give you an overview "
"of our infrastructure." "of our infrastructure."
msgstr "" msgstr ""
"Les plates-formes suivantes ont plutôt un rôle de soutien. Elles permettent " "Les plateformes suivantes ont plutôt un rôle de soutien. Elles permettent "
"une meilleure gestion des autres plateformes et sont là pour vous donner une " "une meilleure gestion des autres plateformes et sont là pour vous donner une "
"vue d'ensemble de notre infrastructure." "vue d'ensemble de notre infrastructure."