Compare commits
7 commits
tools-page
...
main
Author | SHA1 | Date | |
---|---|---|---|
|
76360bcc2f | ||
78a1b6627f | |||
aec1460de9 | |||
2f88882e0d | |||
1fb1da0413 | |||
f9e83086a3 | |||
7ef8410cfc |
21 changed files with 239 additions and 100 deletions
|
@ -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}')
|
||||||
|
|
|
@ -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
|
|
|
@ -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]"
|
||||||
|
|
|
@ -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
1
.pages-domains
Normal file
|
@ -0,0 +1 @@
|
||||||
|
www.ilot.io
|
0
.pages-redirect
Normal file
0
.pages-redirect
Normal file
BIN
footer.fr.mo
BIN
footer.fr.mo
Binary file not shown.
52
footer.fr.po
52
footer.fr.po
|
@ -7,19 +7,19 @@
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: ilot.io\n"
|
"Project-Id-Version: ilot.io\n"
|
||||||
"POT-Creation-Date: 2024-10-09 18:45-0400\n"
|
"POT-Creation-Date: 2025-03-13 17:50-0400\n"
|
||||||
"PO-Revision-Date: 2024-10-09 18:46-0400\n"
|
"PO-Revision-Date: 2025-04-03 18:43-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: <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"
|
||||||
|
@ -77,10 +77,18 @@ msgstr "Nouvelles"
|
||||||
msgid "Subscribe to our [[newsletter|https://notif.ilot.io/archive]]"
|
msgid "Subscribe to our [[newsletter|https://notif.ilot.io/archive]]"
|
||||||
msgstr "S'abonner à notre [[liste de diffusion|https://notif.ilot.io/archive]]"
|
msgstr "S'abonner à notre [[liste de diffusion|https://notif.ilot.io/archive]]"
|
||||||
|
|
||||||
|
#. type: Content of: <p><div><div><div><form><script>
|
||||||
|
msgid ""
|
||||||
|
"document.addEventListener('keydown', function (event) { if (event.keyCode "
|
||||||
|
"=== 13 && event.target.nodeName === 'INPUT') { var form = event.target.form; "
|
||||||
|
"var index = Array.prototype.indexOf.call(form, event.target); form."
|
||||||
|
"elements[index + 1].focus(); event.preventDefault(); } });"
|
||||||
|
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>
|
||||||
|
@ -93,11 +101,33 @@ msgstr ""
|
||||||
|
|
||||||
#. type: Content of: <p><div><div><div><form>
|
#. type: Content of: <p><div><div><div><form>
|
||||||
msgid ""
|
msgid ""
|
||||||
"<button aria-label=\"Subscribe\" class=\"btn\" type=\"submit\">Subscribe</"
|
"<button aria-label=\"Subscribe\" class=\"btn\" type=\"button\" data-bs-"
|
||||||
"button>"
|
"toggle=\"modal\" data-bs-target=\"#hcaptchamodal\">Subscribe</button>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"<button aria-label=\"Subscribe\" class=\"btn\" type=\"submit\">S'abonner</"
|
"<button aria-label=\"Subscribe\" class=\"btn\" type=\"button\" data-bs-"
|
||||||
"button>"
|
"toggle=\"modal\" data-bs-target=\"#hcaptchamodal\">S'abonner</button>"
|
||||||
|
|
||||||
|
#. type: Content of: <p><div><div><div><form><div><div><div><div><h5>
|
||||||
|
msgid "Are you a robot?"
|
||||||
|
msgstr "Êtes-vous un robot?"
|
||||||
|
|
||||||
|
#. type: Content of: <p><div><div><div><form><div><div><div><div>
|
||||||
|
msgid ""
|
||||||
|
"<button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-"
|
||||||
|
"label=\"Close\"></button>"
|
||||||
|
msgstr ""
|
||||||
|
"<button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-"
|
||||||
|
"label=\"Fermer\"></button>"
|
||||||
|
|
||||||
|
#. type: Content of: <p><div><div><div><form><div><div><div><div>
|
||||||
|
msgid ""
|
||||||
|
"<button type=\"button\" class=\"btn btn-secondary\" data-bs-"
|
||||||
|
"dismiss=\"modal\">Close</button> <button aria-label=\"Subscribe\" "
|
||||||
|
"class=\"btn\" type=\"submit\">Subscribe</button>"
|
||||||
|
msgstr ""
|
||||||
|
"<button type=\"button\" class=\"btn btn-secondary\" data-bs-"
|
||||||
|
"dismiss=\"modal\">Fermer</button> <button aria-label=\"Subscribe\" "
|
||||||
|
"class=\"btn\" type=\"submit\">S'abonner</button>"
|
||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#~| msgid "[[Wiki|https://wiki.ilot.io]]"
|
#~| msgid "[[Wiki|https://wiki.ilot.io]]"
|
||||||
|
|
33
footer.html
33
footer.html
|
@ -35,13 +35,44 @@
|
||||||
|
|
||||||
<form method="post" action="https://notif.ilot.io/subscription/form" class="listmonk-form">
|
<form method="post" action="https://notif.ilot.io/subscription/form" class="listmonk-form">
|
||||||
|
|
||||||
|
<!-- Converts enter key to tab -->
|
||||||
|
<script>
|
||||||
|
document.addEventListener('keydown', function (event) {
|
||||||
|
if (event.keyCode === 13 && event.target.nodeName === 'INPUT') {
|
||||||
|
var form = event.target.form;
|
||||||
|
var index = Array.prototype.indexOf.call(form, event.target);
|
||||||
|
form.elements[index + 1].focus();
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</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>
|
||||||
|
<button aria-label="Subscribe" class="btn" type="button" data-bs-toggle="modal" data-bs-target="#hcaptchamodal">Subscribe</button>
|
||||||
|
<div class="modal fade" id="hcaptchamodal" tabindex="-1" aria-labelledby="haptcha" aria-hidden="true">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h5 class="modal-title" id="hcapatchamodallabel">Are you a robot?</h5>
|
||||||
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<div class="h-captcha" data-sitekey="be08a59e-ae24-472e-8a80-22d07016ee90" data-callback="submitSubscribe"></div>
|
||||||
|
<script src="https://js.hcaptcha.com/1/api.js" async defer></script>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
|
||||||
<button aria-label="Subscribe" class="btn" type="submit">Subscribe</button>
|
<button aria-label="Subscribe" class="btn" type="submit">Subscribe</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
36
footer.pot
36
footer.pot
|
@ -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-09 18:45-0400\n"
|
"POT-Creation-Date: 2025-03-13 17:50-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"
|
||||||
|
@ -76,10 +76,18 @@ msgstr ""
|
||||||
msgid "Subscribe to our [[newsletter|https://notif.ilot.io/archive]]"
|
msgid "Subscribe to our [[newsletter|https://notif.ilot.io/archive]]"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. type: Content of: <p><div><div><div><form><script>
|
||||||
|
msgid ""
|
||||||
|
"document.addEventListener('keydown', function (event) { if (event.keyCode "
|
||||||
|
"=== 13 && event.target.nodeName === 'INPUT') { var form = event.target.form; "
|
||||||
|
"var index = Array.prototype.indexOf.call(form, event.target); "
|
||||||
|
"form.elements[index + 1].focus(); event.preventDefault(); } });"
|
||||||
|
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=\"981a0\" type=\"hidden\" "
|
||||||
"name=\"l\" value=\"9c490957-b50b-4162-898d-92259e350cd6\" />"
|
"name=\"l\" value=\"981a06b2-c76b-41d0-be19-f6092c4e91cd\" />"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Content of: <p><div><div><div><form><div>
|
#. type: Content of: <p><div><div><div><form><div>
|
||||||
|
@ -90,6 +98,24 @@ msgstr ""
|
||||||
|
|
||||||
#. type: Content of: <p><div><div><div><form>
|
#. type: Content of: <p><div><div><div><form>
|
||||||
msgid ""
|
msgid ""
|
||||||
"<button aria-label=\"Subscribe\" class=\"btn\" "
|
"<button aria-label=\"Subscribe\" class=\"btn\" type=\"button\" "
|
||||||
"type=\"submit\">Subscribe</button>"
|
"data-bs-toggle=\"modal\" "
|
||||||
|
"data-bs-target=\"#hcaptchamodal\">Subscribe</button>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. type: Content of: <p><div><div><div><form><div><div><div><div><h5>
|
||||||
|
msgid "Are you a robot?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. type: Content of: <p><div><div><div><form><div><div><div><div>
|
||||||
|
msgid ""
|
||||||
|
"<button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" "
|
||||||
|
"aria-label=\"Close\"></button>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. type: Content of: <p><div><div><div><form><div><div><div><div>
|
||||||
|
msgid ""
|
||||||
|
"<button type=\"button\" class=\"btn btn-secondary\" "
|
||||||
|
"data-bs-dismiss=\"modal\">Close</button> <button aria-label=\"Subscribe\" "
|
||||||
|
"class=\"btn\" type=\"submit\">Subscribe</button>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
|
@ -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
|
||||||
|
|
BIN
index.fr.mo
BIN
index.fr.mo
Binary file not shown.
12
index.fr.po
12
index.fr.po
|
@ -6,14 +6,14 @@ 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: 2024-09-08 12:28-0400\n"
|
||||||
"PO-Revision-Date: 2024-09-08 12:33-0400\n"
|
"PO-Revision-Date: 2025-04-03 18: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
|
||||||
|
@ -46,8 +46,8 @@ msgid ""
|
||||||
"our data, and manage our shared technologies. Members also provide the labor "
|
"our data, and manage our shared technologies. Members also provide the labor "
|
||||||
"to run ilot at all levels."
|
"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 plateformes libre de travail et "
|
"administrons une instance de Nextcloud, une plateforme libre de travail et "
|
||||||
"de stockage de donnée analogue à Google Drive. Notre objectif est de nous "
|
"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 "
|
"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 "
|
"pour ses utilisateur-ice-s, en alternative à l'internet cloisonné et "
|
||||||
|
@ -66,8 +66,8 @@ 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 "
|
"travail à faire. Alors que l'infrastructure technique est mise en place et "
|
||||||
"stable, la gouvernance et les lignes directrices de la communauté sont "
|
"stable, la gouvernance et les lignes directrices de la communauté sont "
|
||||||
"encore en cours d'élaboration. Si vous souhaitez rejoindre ilot, visitez "
|
"encore en cours d'élaboration. Si vous souhaitez vous joindre à notre "
|
||||||
"notre [[formulaire d'inscription|join]]."
|
"projet, compléter notre [[formulaire d'inscription|join]]."
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
msgid ""
|
msgid ""
|
||||||
|
|
BIN
join.fr.mo
BIN
join.fr.mo
Binary file not shown.
14
join.fr.po
14
join.fr.po
|
@ -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\")."
|
||||||
|
|
|
@ -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>
|
||||||
|
|
4
join.pot
4
join.pot
|
@ -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>
|
||||||
|
|
|
@ -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
77
join/join-fr.html
Normal 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>
|
BIN
platforms.fr.mo
BIN
platforms.fr.mo
Binary file not shown.
|
@ -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."
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue