Compare commits

...
Sign in to create a new pull request.

73 commits
test ... main

Author SHA1 Message Date
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
f9e83086a3
footer: nullify enter key
Some checks failed
/ preview (pull_request) Successful in 40s
/ cleanup (pull_request) Failing after 32s
/ render (push) Successful in 43s
2025-03-13 17:36:29 -04:00
7ef8410cfc
footer: add hcapatcha check for subsribe
All checks were successful
/ preview (pull_request) Successful in 36s
2024-11-03 10:19:50 -05:00
dc41cff096
footer: add link to opencollective donation
All checks were successful
/ render (push) Successful in 41s
2024-10-09 18:46:38 -04:00
0d1b8a3a2c
templates/page: expand on md rather than lg
All checks were successful
/ render (push) Successful in 36s
2024-10-08 15:12:13 -04:00
92075b8e11
sidebar: replace button with a href
All checks were successful
/ render (push) Successful in 36s
2024-10-08 15:08:31 -04:00
f98d458420
join: dis-integrate js
All checks were successful
/ render (push) Successful in 35s
2024-10-08 11:37:59 -04:00
8e9a8888cf
join: translate js
All checks were successful
/ render (push) Successful in 38s
2024-10-08 11:29:57 -04:00
987a666e4e
join: add ocuser to description
All checks were successful
/ render (push) Successful in 36s
2024-10-08 11:24:31 -04:00
c585e74465
join: reintegrate js code in html
All checks were successful
/ render (push) Successful in 36s
2024-10-08 11:22:02 -04:00
7274fc6169
join: attempt fix js fix
All checks were successful
/ render (push) Successful in 35s
2024-10-08 11:19:22 -04:00
1061be1b31
join: grammar fix in french
All checks were successful
/ render (push) Successful in 36s
2024-10-08 11:16:14 -04:00
553634877d
join: Fix translation bug 2024-10-08 11:14:29 -04:00
49f7301928
join: add OpenCollective field
All checks were successful
/ render (push) Successful in 36s
2024-10-08 11:12:03 -04:00
c31b6c6dfb
join: remove empty field
All checks were successful
/ render (push) Successful in 44s
2024-10-08 11:03:07 -04:00
5ff4ff0eab
error/*: remove back button, and change 502
All checks were successful
/ render (push) Successful in 31s
2024-09-29 18:52:53 -04:00
6d6fd82e1b
error/*: initial
All checks were successful
/ render (push) Successful in 42s
2024-09-29 18:13:13 -04:00
4ada397885
content/*: move to root
All checks were successful
/ render (push) Successful in 32s
2024-09-17 15:02:04 -04:00
d0dc2ae971
test-server.sh: move under tools 2024-09-17 15:00:22 -04:00
b468943328
base/*: merge with content 2024-09-17 14:58:00 -04:00
39dc6dfa62
plugins: move from lib 2024-09-17 14:53:56 -04:00
e8602aa59d
templates/page.tmpl: fix sticky footer
All checks were successful
/ render (push) Successful in 32s
2024-09-17 13:43:01 -04:00
94a8b58355
css/bootstrap.local.css: set bottom to 0
All checks were successful
/ render (push) Successful in 30s
2024-09-11 15:00:22 -04:00
a176112468
templates/page.tmpl: pull style.css
All checks were successful
/ render (push) Successful in 30s
2024-09-11 14:48:04 -04:00
921075ee7e
templates/*: cleaned up indents + folder restructure
All checks were successful
/ render (push) Successful in 34s
2024-09-11 14:44:56 -04:00
465dfa8e90
*: update to Bootstrap 5
Some checks failed
/ preview (pull_request) Has been cancelled
/ cleanup (pull_request) Failing after 34s
/ render (push) Successful in 34s
2024-09-10 20:19:15 -04:00
63e89e5969 templates/pages: trailing if statement
All checks were successful
/ render (push) Successful in 36s
2024-09-10 20:16:04 +00:00
9e9ce85503 templates/page: drop dynamic 2024-09-10 20:16:04 +00:00
d6577e535a templates/page: drop comments 2024-09-10 20:16:04 +00:00
5099dd8cbd templates/*: Drop HTML5 conditions 2024-09-10 20:16:04 +00:00
f9017d5921
forgejo-ci: use default actions
All checks were successful
/ render (push) Successful in 40s
2024-09-10 07:44:49 -04:00
c8e8d68070
bootstrap.local.css: add padding-bottom to footer
Some checks failed
/ preview (pull_request) Successful in 34s
/ cleanup (pull_request) Failing after 29s
/ render (push) Successful in 39s
2024-09-08 16:12:19 -04:00
c41eac465c
forgejo: use GitHub checkout, missing
All checks were successful
/ preview (pull_request) Successful in 44s
2024-09-08 16:08:10 -04:00
141b4c277b
forgejo: use GitHub checkout
Some checks failed
/ preview (pull_request) Failing after 15s
2024-09-08 16:06:21 -04:00
d80dc429a1
content/platforms: fix cloud link
Some checks failed
/ preview (pull_request) Failing after 1m16s
2024-09-08 12:49:48 -04:00
da86a9dd00
bootstrap.local.css: make listmonk-form style match
Some checks failed
/ preview (pull_request) Failing after 1m17s
2024-09-08 12:47:03 -04:00
e5d725d49a
content/footer: make listmonk-form style match 2024-09-08 12:46:48 -04:00
2d28be390d
content/platforms: fix translation 2024-09-08 12:36:52 -04:00
8a8581505a
content/index: remove external links
Some checks failed
/ preview (pull_request) Failing after 1m16s
2024-09-08 12:33:55 -04:00
146d3005ac
content/footer: clean-up translation 2024-09-08 12:33:26 -04:00
c0910312cc
content/sidebar: keep only internal pages (index, platforms, join, etc) 2024-09-08 12:33:08 -04:00
8b46a3a6b0
content/plaforms: move forge and wiki to auxillary platforms 2024-09-08 12:32:44 -04:00
73f69629ea
content/footer: cleaned up new footer and newsletter form
Some checks failed
/ preview (pull_request) Failing after 1m18s
2024-09-08 12:21:07 -04:00
ab1ad14e28
bootstrap.local.css: adjusted style for new footer 2024-09-08 12:20:33 -04:00
ac4455e9f4
content/sidebar: re-add old sidebar 2024-09-08 12:20:13 -04:00
71402a5eeb
content/footer: fix links and drop dead links
Some checks failed
/ preview (pull_request) Failing after 1m18s
2024-09-08 10:48:09 -04:00
6216d4350b
content/sidebar: drop all but join and your files
Some checks failed
/ preview (pull_request) Failing after 1m17s
2024-09-08 10:30:59 -04:00
80886eb6ef
content/footer: add link trees
All checks were successful
/ preview (pull_request) Successful in 52s
2024-09-08 10:28:16 -04:00
41d32732f4
basewiki: bootstap.local.css: footer ul without bullet points and padding 2024-09-08 10:21:41 -04:00
fecf00a6a5
basewiki/bootstrap.local.css: footer now without bounds 2024-09-08 10:11:06 -04:00
04d5c61247
content/footer: remove theme credit
All checks were successful
/ render (push) Successful in 36s
2024-08-29 21:33:31 -04:00
a65b6a11ed
content/sidebar: update link to nextcloud
All checks were successful
/ render (push) Successful in 33s
2024-08-25 23:27:02 -04:00
e031f62849
content/sidebar: fix french translation, try again
All checks were successful
/ render (push) Successful in 34s
2024-08-25 22:54:46 -04:00
bf1847fcaa
content/sidebar: fix french translation
All checks were successful
/ render (push) Successful in 33s
2024-08-25 22:52:06 -04:00
28024acaa0
content/sidebar: change Your Dashboard to Your Files
All checks were successful
/ render (push) Successful in 34s
2024-08-25 22:49:34 -04:00
d2fb1a8622
forgejo-ci: initial
All checks were successful
/ render (push) Successful in 37s
2024-08-25 22:33:21 -04:00
4cb43c883c
README.md: update 2024-08-25 22:33:12 -04:00
9c896c5d85
gitlab-ci: drop 2024-08-25 22:30:11 -04:00
01b0ede22a
content/*: remove mention of Agora 2024-08-09 21:15:54 -04:00
93cdc2172c
content/platforms: fix typo 2024-08-09 18:00:25 -04:00
37b582d781
content/sidebar: fix translation 2024-07-05 15:22:29 -04:00
7e71c32ff7
content/sidebar: rename sign-in to dashboard 2024-07-05 15:18:57 -04:00
a2574f8e90 Merge branch 'itisval-header' into 'main'
See merge request ilot/ilot.io!4
2024-07-03 18:49:05 +00:00
95399270af Add header image with new font 2024-07-03 18:49:05 +00:00
c1b43dde56
content/sidebar: add sign-in button 2024-07-02 00:10:24 -04:00
2094c6464d
content/index: bump again
This reverts commit eb2ab14c85.
2024-06-30 22:45:34 -04:00
eb2ab14c85
content/index: bump 2024-06-30 22:32:55 -04:00
d14348643e README: bump again 2024-07-01 02:29:15 +00:00
adbf2a1bac README: bump 2024-06-28 21:28:10 +00:00
97 changed files with 1982 additions and 1390 deletions

View file

@ -0,0 +1,32 @@
on:
pull_request:
types: [ closed, merged ]
jobs:
cleanup:
runs-on: x86_64
container:
image: alpine:latest
steps:
- name: Environment setup
run: |
apk add git nodejs jq coreutils curl tree gawk grep
- name: Pages repo pull
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: pages
- name: Render website
run: |
export GITHUB_PR_NAME=$(grep -l ${{ github.sha }} previews/*/git_sha.txt | awk -F '/' '{print $2}')
echo $GITHUB_PR_NAME >> $GITHUB_ENV
rm -rf previews/$GITHUB_PR_NAME || true
cd previews
tree -d -H '.' -L 1 --noreport --charset utf-8 -T "Versions" -o index.html
- name: Website upload
run: |
git config user.name "forgejo-actions[bot]"
git config user.email "dev@ayakael.net"
git add .
git commit -m "Clean-up $GITHUB_PR_NAME"
git push

View file

@ -0,0 +1,41 @@
on:
push:
branches:
- 'main'
jobs:
render:
runs-on: x86_64
container:
image: alpine:latest
steps:
- name: Environment setup
run: |
apk add git ikiwiki po4a perl-yaml-tiny tree nodejs imagemagick-perlmagick imagemagick imagemagick-jpeg findutils bash imagemagick-webp
- name: Repo pull
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Pages repo pull
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: pages
path: public
- name: Render website
run: ikiwiki --setup ikiwiki.setup
- name: Website upload
run: |
cp .pages-domains public/.domains
cp .pages-redirect public/_redirects
git log -1 --pretty=%B > commit.txt
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
# Note: the following account information will not work on GHES
git config user.name "forgejo-actions[bot]"
git config user.email "dev@ayakael.net"
git add .
git commit -F ../commit.txt
git push

View file

@ -0,0 +1,47 @@
on:
pull_request:
types: [ assigned, opened, synchronize, reopened ]
jobs:
preview:
runs-on: x86_64
container:
image: alpine:latest
steps:
- name: Environment setup
run: |
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 }} -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
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Public repo pull
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: pages
path: public
- name: Render website
run: |
rm -rf public/previews/$GITHUB_PR_NAME || true
mkdir -p public/previews/$GITHUB_PR_NAME
sed -i "s|destdir.*|destdir: ./public/previews/$GITHUB_PR_NAME|" ikiwiki.setup
ikiwiki --setup ikiwiki.setup
cd public/previews
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
run: |
git log -1 --pretty=%B > commit.txt
cd public
date > previews/$GITHUB_PR_NAME/generated.txt
echo ${{ github.sha }} > previews/$GITHUB_PR_NAME/git_sha.txt
# Note: the following account information will not work on GHES
git config user.name "forgejo-actions[bot]"
git config user.email "dev@ayakael.net"
git add .
git commit -F ../commit.txt
git push

4
.gitignore vendored
View file

@ -1,3 +1,3 @@
content/.ikiwiki .ikiwiki
public/ public/
http-server/ tools/http-server/

View file

@ -1,75 +0,0 @@
workflow:
rules: # disable tag pipelines and duplicate MR pipelines
- if: $CI_COMMIT_BRANCH
variables:
MAIN_BRANCH_PATH: "."
EPHEMERAL_BRANCHES_PATH: preview # subpath to ephemeral branches content for preview
pages:
stage: build
cache:
key: gitlab-pages
paths: [public]
before_script:
- sudo apk add git ikiwiki po4a perl-yaml-tiny tree
# CURRENT_CONTENT_PATH is defined in rules, different between main branch and ephemeral branches
- mkdir -p public/$CURRENT_CONTENT_PATH && ls public/$CURRENT_CONTENT_PATH/..
- | # create ephermetal branched path if not existent
if [ ! -d "public/$EPHEMERAL_BRANCHES_PATH" ]; then
mkdir -p public/$EPHEMERAL_BRANCHES_PATH
fi
- | # avoid deleting main branch content when cache has been erased
if [ "$CI_COMMIT_BRANCH" != "$CI_DEFAULT_BRANCH" ] && [ ! -f public/$MAIN_BRANCH_PATH/index.html ]; then
echo -e "💥\e[91;1m Unable to retrieve $CI_DEFAULT_BRANCH generated files from cache ; please regenerate $CI_DEFAULT_BRANCH files first\e[0m"
exit 1
fi
- rm -rf public/$CURRENT_CONTENT_PATH || true # remove last version of current branch
script:
- | # sed needs to be in its own section
sed -i "s|destdir.*|destdir: ./public/$CURRENT_CONTENT_PATH|" ikiwiki.setup
- ikiwiki --setup ikiwiki.setup
- | # create symbolic link to index.en.html if public/index.html does not exist
if [ ! -L "public/$CURRENT_CONTENT_PATH/index.html" ]; then
ln -s index.en.html public/$CURRENT_CONTENT_PATH/index.html
fi
- cd public/$EPHEMERAL_BRANCHES_PATH
- tree -d -H '.' -L 1 --noreport --charset utf-8 -T "Versions" -o index.html # generate a root HTML listing all previews for easier access
environment:
name: pages/$CI_COMMIT_BRANCH
action: start
url: $CI_PAGES_URL/$CURRENT_CONTENT_PATH
on_stop: pages-clean-preview
rules:
# 'main branch' is exposed at GitLab Pages root
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
variables:
CURRENT_CONTENT_PATH: $MAIN_BRANCH_PATH
# other (short-lived) branches generation are exposed in 'EPHEMERAL_BRANCHES_PATH/branch-name-sanitized' sub path
- variables:
CURRENT_CONTENT_PATH: $EPHEMERAL_BRANCHES_PATH/$CI_COMMIT_REF_SLUG
artifacts:
paths: [public]
expire_in: 1h
tags:
- knit
pages-clean-preview:
stage: build
cache:
key: gitlab-pages
paths: [public]
variables:
GIT_STRATEGY: none # git files not available after branch deletion
FOLDER_TO_DELETE: $EPHEMERAL_BRANCHES_PATH/$CI_COMMIT_REF_SLUG # an indirection to allow arbitrary deletion when launching this job
script:
- rm -rf public/$FOLDER_TO_DELETE
environment:
name: pages/$CI_COMMIT_BRANCH
action: stop
rules:
- if: $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH
when: manual
allow_failure: true
tags:
- knit

1
.pages-domains Normal file
View file

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

0
.pages-redirect Normal file
View file

View file

@ -1,21 +1,35 @@
# ilot.io # ilot.io
Upstream: https://lab.ilot.io/ilot/ilot.io Upstream: https://forge.ilot.io/ilot/ilot.io
![Build Status](https://lab.ilot.io/ilot/ilot.io/badges/main/pipeline.svg) ![Build Status](https://forge.ilot.io/ilot/ilot.io/badges/workflows/pages.yaml/badge.svg)
![Push Status](https://forge.ilot.io/ilot/ilot.io/badges/workflows/deploy.yaml/badge.svg)
## Forgejo Actions
## Description This project's static Pages are built by Forgejo Actions, following the steps
defined in [`.forgejo/workflows/pages.yaml`](.forgejo/workflows/pages.yaml).
That builds this website using ikiwiki, and pushes the build artifacts to the
`public` branch.
This repository contains the source code to the [ilot.io](https://ilot.io) The `public` branch has its own workflow following steps defined in
website. [`forgejo/workflows/deploy.yaml`](.forgejo/workflows/deploy.yaml)
that uploads the artifacts to a remote HTTP server for deployment in
production. This workflow is automatically updated from `main` so that `public`
should never be manually modified.
## GitLab CI The deployment is done by a simple remote git push via SSH to a non-bare repo
where `git config receive.denyCurrentBranch` is set as `updateInstead`. This
allows this repo to be checked out as `public`, allowing it to be a root for
your favorite HTTP server.
This project's static Pages are built by [GitLab CI][ci], following the steps The following secrets are expected to be set for operation:
defined in [`.gitlab-ci.yml`](.gitlab-ci.yml): * PAGES_PRIVKEY: SSH private key that is used to push to the HTTP server's git
repo
* PAGES_TOKEN: Forgejo application token used to push to `public` branch.
We are using a theme based on The following variables are expected to be set for operation:
[Bootstrap 3](https://lab.ilot.io/ilot/ikiwiki-bootstrap-ilot) using submodules. * PAGES_TARGET: SSH target for HTTP server's git repo, following this format:
user@example.net:/path/to/http/repo
## Building locally ## Building locally
@ -26,9 +40,9 @@ To work locally with this project, you'll have to follow the steps below:
* [mac][] * [mac][]
* [linux][] * [linux][]
* [source][] * [source][]
1. Clone the submodules: `git submodule init && git submodule update`
1. Generate the website: `ikiwiki --setup ikiwiki.setup` 1. Generate the website: `ikiwiki --setup ikiwiki.setup`
1. Start http-server: `./test-server.sh` 1. Start http-server: `./test-server.sh`
1. Preview your project: open 127.0.0.1:8080 in your browser
Read more at ikiwiki's [documentation][]. Read more at ikiwiki's [documentation][].
@ -38,7 +52,7 @@ Read more at ikiwiki's [documentation][].
2. Checkout the forked repository. 2. Checkout the forked repository.
- `git clone ssh://git@lab.ilot.io/$USER/ilot.io` - `git clone ssh://git@forge.ilot.io/$USER/ilot.io`
- `cd ilot.io` - `cd ilot.io`
3. Make your changes. 3. Make your changes.
@ -61,11 +75,8 @@ Read more at ikiwiki's [documentation][].
8. Once the tests in the merge-request pass, and reviewers are happy, your changes 8. Once the tests in the merge-request pass, and reviewers are happy, your changes
will be merged. will be merged.
[ci]: https://about.gitlab.com/gitlab-ci/
[ikiwiki]: https://ikiwiki.info/ [ikiwiki]: https://ikiwiki.info/
[source]: https://ikiwiki.info/install/ [source]: https://ikiwiki.info/install/
[linux]: https://ikiwiki.info/setup/ [linux]: https://ikiwiki.info/setup/
[mac]: https://ikiwiki.info/tips/ikiwiki_on_mac_os_x/ [mac]: https://ikiwiki.info/tips/ikiwiki_on_mac_os_x/
[documentation]: https://ikiwiki.info/ [documentation]: https://ikiwiki.info/
[userpages]: https://docs.gitlab.com/ce/user/project/pages/introduction.html#user-or-group-pages
[projpages]: https://docs.gitlab.com/ce/user/project/pages/introduction.html#project-pages

View file

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View file

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View file

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 371 B

File diff suppressed because one or more lines are too long

View file

@ -1,37 +0,0 @@
# Traduction de ikiwiki
# Copyright (C) 2009 Debian French l10n team <debian-l10n-french@lists.debian.org>
# This file is distributed under the same license as the PACKAGE Ikiwiki.
#
msgid ""
msgstr ""
"Project-Id-Version: Ikiwiki\n"
"POT-Creation-Date: 2009-08-15 18:30-0300\n"
"PO-Revision-Date: 2009-08-23 09:32+0200\n"
"Last-Translator: Philippe Batailler <philippe.batailler@free.fr>\n"
"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. type: Plain text
#, no-wrap
msgid "[[!if test=\"enabled(meta)\" then=\"\"\"\n"
msgstr "[[!if test=\"enabled(meta)\" then=\"\"\"\n"
#. type: Plain text
#, no-wrap
msgid "[[!meta title=\"RecentChanges\"]]\n"
msgstr "[[!meta title=\"RecentChanges\"]]\n"
#. type: Plain text
msgid "Recent changes to this wiki:"
msgstr "Dernières modifications :"
#. type: Plain text
#, no-wrap
msgid ""
"[[!inline pages=\"internal(recentchanges/change_*) and !*/Discussion\" \n"
"template=recentchanges show=0]]\n"
msgstr ""
"[[!inline pages=\"internal(recentchanges/change_*) and !*/Discussion\" \n"
"template=recentchanges show=0]]\n"

View file

@ -1,7 +0,0 @@
[[!if test="enabled(meta)" then="""
[[!meta title="RecentChanges"]]
"""]]
Recent changes to this wiki:
[[!inline pages="internal(recentchanges/change_*) and !*/Discussion"
template=recentchanges show=0]]

View file

@ -1,266 +0,0 @@
# Traduction de ikiwiki
# Copyright (C) 2009 Debian French l10n team <debian-l10n-french@lists.debian.org>
# This file is distributed under the same license as the PACKAGE Ikiwiki.
#
msgid ""
msgstr ""
"Project-Id-Version: ikiwiki\n"
"POT-Creation-Date: 2010-03-14 22:09+0000\n"
"PO-Revision-Date: 2010-07-16 10:39+0200\n"
"Last-Translator: Philippe Batailler <philippe.batailler@free.fr>\n"
"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. type: Plain text
#, no-wrap
msgid ""
"[[!if test=\"enabled(shortcut)\"\n"
" then=\"This wiki has shortcuts **enabled**.\"\n"
" else=\"This wiki has shortcuts **disabled**.\"]]\n"
msgstr ""
"[[!if test=\"enabled(shortcut)\"\n"
" then=\"Les raccourcis sont **activés** dans ce wiki.\"\n"
" else=\"Les raccourcis sont **désactivés** dans ce wiki.\"]]\n"
#. type: Plain text
msgid "Some examples of using shortcuts include:"
msgstr "Voici quelques exemples de raccourcis :"
#. type: Plain text
#, no-wrap
msgid ""
"\t\\[[!google foo]]\n"
"\t\\[[!wikipedia War_of_1812]]\n"
"\t\\[[!debbug 12345]]\n"
"\tCheck the \\[[!cia ikiwiki desc=\"CIA page for %s\"]].\n"
msgstr ""
"\t\\[[!google foo]]\n"
"\t\\[[!wikipedia War_of_1812]]\n"
"\t\\[[!debbug 12345]]\n"
"\tConsultez la \\[[!cia ikiwiki desc=\"page du projet CIA pour %s\"]].\n"
#. type: Plain text
msgid "This page controls what shortcut links the wiki supports."
msgstr "Cette page définit les raccourcis connus par ce wiki."
#. type: Bullet: '* '
msgid "[[!shortcut name=google url=\"http://www.google.com/search?q=%s\"]]"
msgstr "[[!shortcut name=google url=\"http://www.google.com/search?q=%s\"]]"
#. type: Bullet: '* '
msgid "[[!shortcut name=archive url=\"http://web.archive.org/*/%S\"]]"
msgstr "[[!shortcut name=archive url=\"http://web.archive.org/*/%S\"]]"
#. type: Bullet: '* '
msgid "[[!shortcut name=gmap url=\"http://maps.google.com/maps?q=%s\"]]"
msgstr "[[!shortcut name=gmap url=\"http://maps.google.com/maps?q=%s\"]]"
#. type: Bullet: '* '
msgid "[[!shortcut name=gmsg url=\"http://groups.google.com/groups?selm=%s\"]]"
msgstr ""
"[[!shortcut name=gmsg url=\"http://groups.google.com/groups?selm=%s\"]]"
#. type: Bullet: '* '
msgid "[[!shortcut name=wikipedia url=\"http://en.wikipedia.org/wiki/%s\"]]"
msgstr "[[!shortcut name=wikipedia url=\"http://en.wikipedia.org/wiki/%s\"]]"
#. type: Bullet: '* '
msgid "[[!shortcut name=wikitravel url=\"http://wikitravel.org/en/%s\"]]"
msgstr "[[!shortcut name=wikitravel url=\"http://wikitravel.org/en/%s\"]]"
#. type: Bullet: '* '
msgid "[[!shortcut name=wiktionary url=\"http://en.wiktionary.org/wiki/%s\"]]"
msgstr "[[!shortcut name=wiktionary url=\"http://en.wiktionary.org/wiki/%s\"]]"
#. type: Bullet: '* '
#| msgid ""
#| "[[!shortcut name=debbug url=\"http://bugs.debian.org/%s\" desc=\"bug #%s"
#| "\"]]"
msgid ""
"[[!shortcut name=debbug url=\"http://bugs.debian.org/%S\" desc=\"Debian bug #"
"%s\"]]"
msgstr "[[!shortcut name=debbug url=\"http://bugs.debian.org/%S\" desc=\"bug #%s\"]]"
#. type: Bullet: '* '
msgid ""
"[[!shortcut name=deblist url=\"http://lists.debian.org/debian-%s\" desc="
"\"debian-%s@lists.debian.org\"]]"
msgstr ""
"[[!shortcut name=deblist url=\"http://lists.debian.org/debian-%s\" desc="
"\"debian-%s@lists.debian.org\"]]"
#. type: Bullet: '* '
msgid "[[!shortcut name=debpkg url=\"http://packages.debian.org/%s\"]]"
msgstr "[[!shortcut name=debpkg url=\"http://packages.debian.org/%s\"]]"
#. type: Bullet: '* '
msgid "[[!shortcut name=debpkgsid url=\"http://packages.debian.org/sid/%s\"]]"
msgstr "[[!shortcut name=debpkgsid url=\"http://packages.debian.org/sid/%s\"]]"
#. type: Bullet: '* '
msgid "[[!shortcut name=debpts url=\"http://packages.qa.debian.org/%s\"]]"
msgstr "[[!shortcut name=debpts url=\"http://packages.qa.debian.org/%s\"]]"
#. type: Bullet: '* '
msgid ""
"[[!shortcut name=debmsg url=\"http://lists.debian.org/msgid-search/%s\"]]"
msgstr ""
"[[!shortcut name=debmsg url=\"http://lists.debian.org/msgid-search/%s\"]]"
#. type: Bullet: '* '
msgid ""
"[[!shortcut name=debrt url=\"https://rt.debian.org/Ticket/Display.html?id=%s"
"\"]]"
msgstr ""
"[[!shortcut name=debrt url=\"https://rt.debian.org/Ticket/Display.html?id=%s"
"\"]]"
#. type: Plain text
#, no-wrap
#| msgid ""
#| "* [[!shortcut name=debss url=\"http://snapshot.debian.net/package/%s\"]]\n"
#| " * Usage: `\\[[!debss package]]`, `\\[[!debss package#version]]`, or `\\[[!debss package/version]]`. See http://snapshot.debian.net for details.\n"
#| "* [[!shortcut name=debwiki url=\"http://wiki.debian.org/%s\"]]\n"
#| "* [[!shortcut name=fdobug url=\"https://bugs.freedesktop.org/show_bug.cgi?id=%s\" desc=\"freedesktop.org bug #%s\"]]\n"
#| "* [[!shortcut name=fdolist url=\"http://lists.freedesktop.org/mailman/listinfo/%s\" desc=\"%s@lists.freedesktop.org\"]]\n"
#| "* [[!shortcut name=gnomebug url=\"http://bugzilla.gnome.org/show_bug.cgi?id=%s\" desc=\"GNOME bug #%s\"]]\n"
#| "* [[!shortcut name=linuxbug url=\"http://bugzilla.kernel.org/show_bug.cgi?id=%s\" desc=\"Linux bug #%s\"]]\n"
#| "* [[!shortcut name=mozbug url=\"https://bugzilla.mozilla.org/show_bug.cgi?id=%s\" desc=\"Mozilla bug #%s\"]]\n"
#| "* [[!shortcut name=gnulist url=\"http://lists.gnu.org/mailman/listinfo/%s\" desc=\"%s@gnu.org\"]]\n"
#| "* [[!shortcut name=marcmsg url=\"http://marc.info/?i=%s\"]]\n"
#| "* [[!shortcut name=marclist url=\"http://marc.info/?l=%s\"]]\n"
#| "* [[!shortcut name=gmane url=\"http://dir.gmane.org/gmane.%s\" desc=\"gmane.%s\"]]\n"
#| "* [[!shortcut name=gmanemsg url=\"http://mid.gmane.org/%s\"]]\n"
#| "* [[!shortcut name=cpan url=\"http://search.cpan.org/search?mode=dist&query=%s\"]]\n"
#| "* [[!shortcut name=ctan url=\"http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=%s\"]]\n"
#| "* [[!shortcut name=hoogle url=\"http://haskell.org/hoogle/?q=%s\"]]\n"
#| "* [[!shortcut name=iki url=\"http://ikiwiki.info/%S/\"]]\n"
#| "* [[!shortcut name=ljuser url=\"http://%s.livejournal.com/\"]]\n"
#| "* [[!shortcut name=rfc url=\"http://www.ietf.org/rfc/rfc%s.txt\" desc=\"RFC %s\"]]\n"
#| "* [[!shortcut name=c2 url=\"http://c2.com/cgi/wiki?%s\"]]\n"
#| "* [[!shortcut name=meatballwiki url=\"http://www.usemod.com/cgi-bin/mb.pl?%s\"]]\n"
#| "* [[!shortcut name=emacswiki url=\"http://www.emacswiki.org/cgi-bin/wiki/%s\"]]\n"
#| "* [[!shortcut name=haskellwiki url=\"http://haskell.org/haskellwiki/%s\"]]\n"
#| "* [[!shortcut name=dict url=\"http://www.dict.org/bin/Dict?Form=Dict1&Strategy=*&Database=*&Query=%s\"]]\n"
#| "* [[!shortcut name=imdb url=\"http://imdb.com/find?q=%s\"]]\n"
#| "* [[!shortcut name=gpg url=\"http://pgpkeys.mit.edu:11371/pks/lookup?op=vindex&exact=on&search=0x%s\"]]\n"
#| "* [[!shortcut name=perldoc url=\"http://perldoc.perl.org/search.html?q=%s\"]]\n"
#| "* [[!shortcut name=whois url=\"http://reports.internic.net/cgi/whois?whois_nic=%s&type=domain\"]]\n"
#| "* [[!shortcut name=cve url=\"http://cve.mitre.org/cgi-bin/cvename.cgi?name=%s\"]]\n"
#| "* [[!shortcut name=cia url=\"http://cia.vc/stats/project/%s\"]]\n"
#| "* [[!shortcut name=ciauser url=\"http://cia.vc/stats/user/%s\"]]\n"
#| "* [[!shortcut name=flickr url=\"http://www.flickr.com/photos/%s\"]]\n"
#| "* [[!shortcut name=man url=\"http://linux.die.net/man/%s\"]]\n"
#| "* [[!shortcut name=ohloh url=\"http://www.ohloh.net/projects/%s\"]]\n"
msgid ""
"* [[!shortcut name=debss url=\"http://snapshot.debian.net/package/%s\"]]\n"
" * Usage: `\\[[!debss package]]`, `\\[[!debss package#version]]`, or `\\[[!debss package/version]]`. See http://snapshot.debian.net for details.\n"
"* [[!shortcut name=debwiki url=\"http://wiki.debian.org/%s\"]]\n"
"* [[!shortcut name=fdobug url=\"https://bugs.freedesktop.org/show_bug.cgi?id=%s\" desc=\"freedesktop.org bug #%s\"]]\n"
"* [[!shortcut name=fdolist url=\"http://lists.freedesktop.org/mailman/listinfo/%s\" desc=\"%s@lists.freedesktop.org\"]]\n"
"* [[!shortcut name=gnomebug url=\"http://bugzilla.gnome.org/show_bug.cgi?id=%s\" desc=\"GNOME bug #%s\"]]\n"
"* [[!shortcut name=linuxbug url=\"http://bugzilla.kernel.org/show_bug.cgi?id=%s\" desc=\"Linux bug #%s\"]]\n"
"* [[!shortcut name=mozbug url=\"https://bugzilla.mozilla.org/show_bug.cgi?id=%s\" desc=\"Mozilla bug #%s\"]]\n"
"* [[!shortcut name=gnulist url=\"http://lists.gnu.org/mailman/listinfo/%s\" desc=\"%s@gnu.org\"]]\n"
"* [[!shortcut name=marcmsg url=\"http://marc.info/?i=%s\"]]\n"
"* [[!shortcut name=marclist url=\"http://marc.info/?l=%s\"]]\n"
"* [[!shortcut name=gmane url=\"http://dir.gmane.org/gmane.%s\" desc=\"gmane.%s\"]]\n"
"* [[!shortcut name=gmanemsg url=\"http://mid.gmane.org/%s\"]]\n"
"* [[!shortcut name=cpan url=\"http://search.cpan.org/search?mode=dist&query=%s\"]]\n"
"* [[!shortcut name=ctan url=\"http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=%s\"]]\n"
"* [[!shortcut name=hoogle url=\"http://haskell.org/hoogle/?q=%s\"]]\n"
"* [[!shortcut name=iki url=\"http://ikiwiki.info/%S/\"]]\n"
"* [[!shortcut name=ljuser url=\"http://%s.livejournal.com/\"]]\n"
"* [[!shortcut name=rfc url=\"http://www.ietf.org/rfc/rfc%s.txt\" desc=\"RFC %s\"]]\n"
"* [[!shortcut name=c2 url=\"http://c2.com/cgi/wiki?%s\"]]\n"
"* [[!shortcut name=meatballwiki url=\"http://www.usemod.com/cgi-bin/mb.pl?%s\"]]\n"
"* [[!shortcut name=emacswiki url=\"http://www.emacswiki.org/cgi-bin/wiki/%s\"]]\n"
"* [[!shortcut name=haskellwiki url=\"http://haskell.org/haskellwiki/%s\"]]\n"
"* [[!shortcut name=dict url=\"http://www.dict.org/bin/Dict?Form=Dict1&Strategy=*&Database=*&Query=%s\"]]\n"
"* [[!shortcut name=imdb url=\"http://imdb.com/find?q=%s\"]]\n"
"* [[!shortcut name=gpg url=\"http://pgpkeys.mit.edu:11371/pks/lookup?op=vindex&exact=on&search=0x%s\"]]\n"
"* [[!shortcut name=perldoc url=\"http://perldoc.perl.org/search.html?q=%s\"]]\n"
"* [[!shortcut name=whois url=\"http://reports.internic.net/cgi/whois?whois_nic=%s&type=domain\"]]\n"
"* [[!shortcut name=cve url=\"http://cve.mitre.org/cgi-bin/cvename.cgi?name=%s\"]]\n"
"* [[!shortcut name=cia url=\"http://cia.vc/stats/project/%s\"]]\n"
"* [[!shortcut name=ciauser url=\"http://cia.vc/stats/user/%s\"]]\n"
"* [[!shortcut name=flickr url=\"http://www.flickr.com/photos/%s\"]]\n"
"* [[!shortcut name=man url=\"http://linux.die.net/man/%s\"]]\n"
"* [[!shortcut name=ohloh url=\"http://www.ohloh.net/projects/%s\"]]\n"
"* [[!shortcut name=cpanrt url=\"https://rt.cpan.org/Ticket/Display.html?id=%s\" desc=\"CPAN RT#%s\"]]\n"
"* [[!shortcut name=novellbug url=\"https://bugzilla.novell.com/show_bug.cgi?id=%s\" desc=\"bug %s\"]]\n"
msgstr ""
"* [[!shortcut name=debss url=\"http://snapshot.debian.net/package/%s\"]]\n"
" * Usage : `\\[[!debss package]]`, `\\[[!debss package#version]]`, ou `\\[[!debss package/version]]`. Consultez http://snapshot.debian.net pour d'autres précisions.\n"
"* [[!shortcut name=debwiki url=\"http://wiki.debian.org/%s\"]]\n"
"* [[!shortcut name=fdobug url=\"https://bugs.freedesktop.org/show_bug.cgi?id=%s\" desc=\"freedesktop.org bug #%s\"]]\n"
"* [[!shortcut name=fdolist url=\"http://lists.freedesktop.org/mailman/listinfo/%s\" desc=\"%s@lists.freedesktop.org\"]]\n"
"* [[!shortcut name=gnomebug url=\"http://bugzilla.gnome.org/show_bug.cgi?id=%s\" desc=\"GNOME bug #%s\"]]\n"
"* [[!shortcut name=linuxbug url=\"http://bugzilla.kernel.org/show_bug.cgi?id=%s\" desc=\\\"Linux bug #%s\"]]\n"
"* [[!shortcut name=mozbug url=\"https://bugzilla.mozilla.org/show_bug.cgi?id=%s\" desc=\"Mozilla bug #%s\"]]\n"
"* [[!shortcut name=gnulist url=\"http://lists.gnu.org/mailman/listinfo/%s\" desc=\"%s@gnu.org\"]]\n"
"* [[!shortcut name=marcmsg url=\"http://marc.info/?i=%s\"]]\n"
"* [[!shortcut name=marclist url=\"http://marc.info/?l=%s\"]]\n"
"* [[!shortcut name=gmane url=\"http://dir.gmane.org/gmane.%s\" desc=\"gmane.%s\"]]\n"
"* [[!shortcut name=gmanemsg url=\"http://mid.gmane.org/%s\"]]\n"
"* [[!shortcut name=cpan url=\"http://search.cpan.org/search?mode=dist&query=%s\"]]\n"
"* [[!shortcut name=ctan url=\"http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=%s\"]]\n"
"* [[!shortcut name=hoogle url=\"http://haskell.org/hoogle/?q=%s\"]]\n"
"* [[!shortcut name=iki url=\"http://ikiwiki.info/%S/\"]]\n"
"* [[!shortcut name=ljuser url=\"http://%s.livejournal.com/\"]]\n"
"* [[!shortcut name=rfc url=\"http://www.ietf.org/rfc/rfc%s.txt\" desc=\"RFC %s\"]]\n"
"* [[!shortcut name=c2 url=\"http://c2.com/cgi/wiki?%s\"]]\n"
"* [[!shortcut name=meatballwiki url=\"http://www.usemod.com/cgi-bin/mb.pl?%s\"]]\n"
"* [[!shortcut name=emacswiki url=\"http://www.emacswiki.org/cgi-bin/wiki/%s\"]]\n"
"* [[!shortcut name=haskellwiki url=\"http://haskell.org/haskellwiki/%s\"]]\n"
"* [[!shortcut name=dict url=\"http://www.dict.org/bin/Dict?Form=Dict1&Strategy=*&Database=*&Query=%s\"]]\n"
"* [[!shortcut name=imdb url=\"http://imdb.com/find?q=%s\"]]\n"
"* [[!shortcut name=gpg url=\"http://pgpkeys.mit.edu:11371/pks/lookup?op=vindex&exact=on&search=0x%s\"]]\n"
"* [[!shortcut name=perldoc url=\"http://perldoc.perl.org/search.html?q=%s\"]]\n"
"* [[!shortcut name=whois url=\"http://reports.internic.net/cgi/whois?whois_nic=%s&type=domain\"]]\n"
"* [[!shortcut name=cve url=\"http://cve.mitre.org/cgi-bin/cvename.cgi?name=%s\"]]\n"
"* [[!shortcut name=cia url=\"http://cia.vc/stats/project/%s\"]]\n"
"* [[!shortcut name=ciauser url=\"http://cia.vc/stats/user/%s\"]]\n"
"* [[!shortcut name=flickr url=\"http://www.flickr.com/photos/%s\"]]\n"
"* [[!shortcut name=man url=\"http://linux.die.net/man/%s\"]]\n"
"* [[!shortcut name=ohloh url=\"http://www.ohloh.net/projects/%s\"]]\n"
"* [[!shortcut name=cpanrt url=\"https://rt.cpan.org/Ticket/Display.html?id=%s\" desc=\"CPAN RT#%s\"]]\n"
"* [[!shortcut name=novellbug url=\"https://bugzilla.novell.com/show_bug.cgi?id=%s\" desc=\"bug %s\"]]\n"
#. type: Plain text
msgid ""
"To add a new shortcut, use the `shortcut` [[ikiwiki/directive]]. In the url, "
"\"%s\" is replaced with the text passed to the named shortcut, after [[!"
"wikipedia url_encoding]] it, and '%S' is replaced with the raw, non-encoded "
"text. The optional `desc` parameter controls the description of the link."
msgstr ""
"Pour ajouter un raccourci, utilisez la [[ikiwiki/directive]] `shortcut`. "
"Dans l'URL, \"%s\" est remplacé par le texte passé au raccourci, après "
"l'avoir codé [[!\"wikipedia url_encoding]], et le \"%S\" est remplacé par le "
"texte brut, non codé. La paramètre facultatif `desc` contrôle la description "
"du lien."
#. type: Plain text
msgid ""
"Remember that the `name` you give the shortcut will become a new [[ikiwiki/"
"directive]]. Avoid using a `name` that conflicts with an existing "
"directive. These directives also accept a `desc` parameter that will "
"override the one provided at definition time."
msgstr ""
"N'oubliez pas que le paramètre `name` donné au raccourci devient une "
"nouvelle [[ikiwiki/directive]]. Évitez de donner un nom qui entre en conflit "
"avec une directive existante. Ces directives acceptent aussi un paramètre "
"`desc` qui primera celui fourni au moment de la définition du raccourci."
#. type: Plain text
msgid ""
"If you come up with a shortcut that you think others might find useful, "
"consider contributing it to the [shortcuts page on the ikiwiki wiki](http://"
"ikiwiki.info/shortcuts/), so that future versions of ikiwiki will include "
"your shortcut in the standard underlay."
msgstr ""
"Si vous trouvez un raccourci qui vous paraît utile, proposez-le sur la [page "
"des raccourcis du wiki d'ikiwiki](http://ikiwiki.info/shortcuts/). Ainsi les "
"futures versions d'ikiwiki incluront automatiquement ce raccourci."

View file

@ -1,88 +0,0 @@
[[!if test="enabled(shortcut)"
then="This wiki has shortcuts **enabled**."
else="This wiki has shortcuts **disabled**."]]
Some examples of using shortcuts include:
\[[!google foo]]
\[[!wikipedia War_of_1812]]
\[[!debbug 12345]]
Check the \[[!google ikiwiki desc="google search for %s"]].
This page controls what shortcut links the wiki supports.
* [[!shortcut name=google url="https://encrypted.google.com/search?q=%s"]]
* [[!shortcut name=archive url="http://web.archive.org/*/%S"]]
* [[!shortcut name=gmap url="https://maps.google.com/maps?q=%s"]]
* [[!shortcut name=gmsg url="https://groups.google.com/groups?selm=%s"]]
* [[!shortcut name=wikipedia url="https://en.wikipedia.org/wiki/%W"]]
* [[!shortcut name=wikitravel url="https://wikitravel.org/en/%s"]]
* [[!shortcut name=wiktionary url="https://en.wiktionary.org/wiki/%s"]]
* [[!shortcut name=debbug url="http://bugs.debian.org/%S" desc="Debian bug #%s"]]
* [[!shortcut name=deblist url="https://lists.debian.org/debian-%s" desc="debian-%s@lists.debian.org"]]
* [[!shortcut name=debpkg url="http://packages.debian.org/%s"]]
* [[!shortcut name=debpkgsid url="http://packages.debian.org/sid/%s"]]
* [[!shortcut name=debpts url="http://packages.qa.debian.org/%s"]]
* [[!shortcut name=debmsg url="https://lists.debian.org/msgid-search/%s"]]
* [[!shortcut name=debrt url="https://rt.debian.org/Ticket/Display.html?id=%s"]]
* [[!shortcut name=debss url="http://snapshot.debian.org/package/%s/"]]
* Usage: `\[[!debss package]]` or `\[[!debss package/version]]`. See <http://snapshot.debian.org/> for details.
* [[!shortcut name=debwiki url="https://wiki.debian.org/%S"]]
* [[!shortcut name=debcve url="https://security-tracker.debian.org/tracker/%S"]]
* also supports Debian bug numbers, packages and whatever the [security tracker](https://security-tracker.debian.org/tracker/) supports.
* [[!shortcut name=fdobug url="https://bugs.freedesktop.org/show_bug.cgi?id=%s" desc="freedesktop.org bug #%s"]]
* [[!shortcut name=fdolist url="http://lists.freedesktop.org/mailman/listinfo/%s" desc="%s@lists.freedesktop.org"]]
* [[!shortcut name=gnomebug url="https://bugzilla.gnome.org/show_bug.cgi?id=%s" desc="GNOME bug #%s"]]
* [[!shortcut name=linuxbug url="https://bugzilla.kernel.org/show_bug.cgi?id=%s" desc="Linux bug #%s"]]
* [[!shortcut name=mozbug url="https://bugzilla.mozilla.org/show_bug.cgi?id=%s" desc="Mozilla bug #%s"]]
* [[!shortcut name=gnulist url="https://lists.gnu.org/mailman/listinfo/%s" desc="%s@gnu.org"]]
* [[!shortcut name=marcmsg url="http://marc.info/?i=%s"]]
* [[!shortcut name=marclist url="http://marc.info/?l=%s"]]
* [[!shortcut name=gmane url="http://dir.gmane.org/gmane.%s" desc="gmane.%s"]]
* [[!shortcut name=gmanemsg url="http://mid.gmane.org/%s"]]
* [[!shortcut name=cpan url="http://search.cpan.org/search?mode=dist&query=%s"]]
* [[!shortcut name=ctan url="http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=%s"]]
* [[!shortcut name=hoogle url="http://haskell.org/hoogle/?q=%s"]]
* [[!shortcut name=iki url="http://ikiwiki.info/%S/"]]
* [[!shortcut name=ljuser url="http://%s.livejournal.com/"]]
* [[!shortcut name=rfc url="https://www.ietf.org/rfc/rfc%s.txt" desc="RFC %s"]]
* [[!shortcut name=c2 url="http://wiki.c2.com/?%s"]]
* [[!shortcut name=meatballwiki url="http://www.usemod.com/cgi-bin/mb.pl?%s"]]
* [[!shortcut name=emacswiki url="http://www.emacswiki.org/cgi-bin/wiki/%s"]]
* [[!shortcut name=haskellwiki url="http://haskell.org/haskellwiki/%s"]]
* [[!shortcut name=dict url="http://www.dict.org/bin/Dict?Form=Dict1&Strategy=*&Database=*&Query=%s"]]
* [[!shortcut name=imdb url="http://imdb.com/find?q=%s"]]
* [[!shortcut name=gpg url="http://pgpkeys.mit.edu:11371/pks/lookup?op=vindex&exact=on&search=0x%s"]]
* [[!shortcut name=perldoc url="http://perldoc.perl.org/search.html?q=%s"]]
* [[!shortcut name=whois url="http://reports.internic.net/cgi/whois?whois_nic=%s&type=domain"]]
* [[!shortcut name=cve url="https://cve.mitre.org/cgi-bin/cvename.cgi?name=%s"]]
* [[!shortcut name=flickr url="https://secure.flickr.com/photos/%s"]]
* [[!shortcut name=man url="http://manpages.debian.org/%s"]]
* [[!shortcut name=ohloh url="https://www.ohloh.net/p/%s"]]
* [[!shortcut name=cpanrt url="https://rt.cpan.org/Ticket/Display.html?id=%s" desc="CPAN RT#%s"]]
* [[!shortcut name=novellbug url="https://bugzilla.novell.com/show_bug.cgi?id=%s" desc="bug %s"]]
* [[!shortcut name=ubupkg url="http://packages.ubuntu.com/%s"]]
* [[!shortcut name=mozillazinekb url="http://kb.mozillazine.org/%s"]]
* [[!shortcut name=freebsdwiki url="http://wiki.freebsd.org/%s"]]
* [[!shortcut name=hackage url="http://hackage.haskell.org/package/%s"]]
* [[!shortcut name=pkgsrc url="http://pkgsrc.se/%S"]]
* [[!shortcut name=doi url="http://dx.doi.org/%s" desc="doi:%s"]]
* [[!shortcut name=arxiv url="http://arxiv.org/abs/%s" desc="arXiv:%s"]]
To add a new shortcut, use the `shortcut`
[[ikiwiki/directive]]. In the url, "%s" is replaced with the
text passed to the named shortcut, after [[!wikipedia url_encoding]]
it, and '%S' is replaced with the raw, non-encoded text.
Additionally, `%W` is replaced with the text encoded just right for
Wikipedia. The optional `desc` parameter controls the description of
the link.
Remember that the `name` you give the shortcut will become a new
[[ikiwiki/directive]]. Avoid using a `name` that conflicts
with an existing directive. These directives also accept a `desc`
parameter that will override the one provided at definition time.
If you come up with a shortcut that you think others might find useful,
consider contributing it to the [shortcuts page on the ikiwiki
wiki](http://ikiwiki.info/shortcuts/), so that future versions of
ikiwiki will include your shortcut in the standard underlay.

Binary file not shown.

View file

@ -1,32 +0,0 @@
# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR Free Software Foundation, Inc.
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: ilot.io\n"
"POT-Creation-Date: 2024-06-20 21:11-0400\n"
"PO-Revision-Date: 2024-06-20 21:35-0400\n"
"Last-Translator: \n"
"Language-Team: dev@ayakael.net\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.4.3\n"
#. type: Content of: <p>
msgid ""
"<span class=\"copyright\"> Copyleft © 2024-2024 ilot [[CC-BY-SA|meta/"
"license]] </span> <span class=\"pull-right powered-by\"> Powered by "
"[[ikiwiki|http://ikiwiki.info/]]. [[Theme|https://gitlab.com/anarcat/"
"ikiwiki-bootstrap-anarcat]] by [[anarcat|https://anarc.at/"
"blog/2015-09-09-bootstrap]]. </span>"
msgstr ""
"<span class=\"copyright\"> Copyleft © 2024-2024 ilot [[CC-BY-SA|meta/"
"license]] </span> <span class=\"pull-right powered-by\"> Propulsé par "
"[[ikiwiki|http://ikiwiki.info/]]. [[Thème|https://gitlab.com/anarcat/"
"ikiwiki-bootstrap-anarcat]] par [[anarcat|https://anarc.at/"
"blog/2015-09-09-bootstrap]]. </span>"

View file

@ -1,9 +0,0 @@
<p class="text-muted">
<span class="copyright">
Copyleft © 2024-2024 ilot [[CC-BY-SA|meta/license]]
</span>
<span class="pull-right powered-by">
Powered by [[ikiwiki|http://ikiwiki.info/]].
[[Theme|https://gitlab.com/anarcat/ikiwiki-bootstrap-anarcat]] by [[anarcat|https://anarc.at/blog/2015-09-09-bootstrap]].
</span>
</p>

View file

@ -1,26 +0,0 @@
# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR Free Software Foundation, Inc.
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2024-06-20 23:55-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. type: Content of: <p>
msgid ""
"<span class=\"copyright\"> Copyleft © 2024-2024 ilot "
"[[CC-BY-SA|meta/license]] </span> <span class=\"pull-right powered-by\"> "
"Powered by [[ikiwiki|http://ikiwiki.info/]]. "
"[[Theme|https://gitlab.com/anarcat/ikiwiki-bootstrap-anarcat]] by "
"[[anarcat|https://anarc.at/blog/2015-09-09-bootstrap]]. </span>"
msgstr ""

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1,187 +0,0 @@
# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR Free Software Foundation, Inc.
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: ilot.io\n"
"POT-Creation-Date: 2024-06-20 21:11-0400\n"
"PO-Revision-Date: 2024-06-20 21:22-0400\n"
"Last-Translator: \n"
"Language-Team: dev@ayakael.net\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.4.3\n"
#. type: Plain text
#, no-wrap
msgid "[[!meta title=\"Platforms\"]]\n"
msgstr "[[!meta title=\"Platformes\"]]\n"
#. type: Title #
#, no-wrap
msgid "[[The Cloud|https://cloud.ilot.io]]"
msgstr "[[Le Cloud|https://cloud.ilot.io]]"
#. type: Plain text
msgid ""
"The Cloud is an instance of [[Nextcloud|https://nextcloud.com/]], a productivity "
"collaboration platform analogous to Google Drive. An **instance** is an autonomous "
"version of a web service. In Nextcloud's case, even though there exists an "
"**official** service maintained by the developpers, we are totally indendant from "
"them. The only thing that ties us to the official instance is that we use the same "
"underlying technology, hosted on our own infrastructure."
msgstr ""
"Le Cloud est une instance de [[Nextcloud|https://nextcloud.com/]], une plateforme de "
"collaboration en matière de productivité analogue à Google Drive. Une **instance** "
"est une version autonome d'un service web. Dans le cas de Nextcloud, même s'il "
"existe un service **officiel** maintenu par les développeurs, nous sommes totalement "
"indépendants d'eux. La seule chose qui nous lie à l'instance officielle est que nous "
"utilisons la même technologie sous-jacente, hébergée sur notre propre infrastructure."
#. type: Title #
#, no-wrap
msgid "[[The Agora|https://agora.ilot.io]]"
msgstr "[[L'agora|https://agora.ilot.io]]"
#. type: Plain text
msgid ""
"The Agora is an instance of [[Mastodon|https://en.wikipedia.org/wiki/"
"Mastodon_(social_network)]], a decentarilized microblogging social media network "
"that exists within a larger federation in community called the [[Fediverse|https://"
"en.wikipedia.org/wiki/Fediverse]]. Presenting itself as an alternative to Twitter, "
"it represents a federated alternative to the siloed model of traditionnal social "
"media networks. It's as if you could follow your grand-mother from Facebook, with "
"your Instagram account. In practice, this allows you to follow accounts that are "
"hosted on other independant instances, from your account on Ilot. A post that you "
"like can be **boosted**, which can then be boosted by those who follow your account. "
"It is thus a social network model where the propagation technology is human rather "
"than algorithmic."
msgstr ""
"L'Agora est une instance de [[Mastodon|https://en.wikipedia.org/wiki/"
"Mastodon_(social_network)]], un réseau de médias sociaux de microblogging "
"décentralisé qui existe au sein d'une fédération plus large appelée [[Fediverse|"
"https://en.wikipedia.org/wiki/Fediverse]]. Se présentant comme une alternative à "
"Twitter, il représente une alternative fédérée au modèle cloisonné des réseaux de "
"médias sociaux traditionnels. C'est comme si vous pouviez suivre votre grand-mère "
"depuis Facebook, avec votre compte Instagram. En pratique, cela vous permet de "
"suivre des comptes hébergés sur d'autres instances indépendantes, à partir de votre "
"compte sur Ilot. Un post que vous aimez peut être **boosté**, qui peut ensuite être "
"boosté par ceux qui suivent votre compte. Il s'agit donc d'un modèle de réseau "
"social où la technologie de propagation est humaine plutôt qu'algorithmique."
#. type: Title #
#, no-wrap
msgid "[[The Wiki|https://wiki.ilot.io]]"
msgstr "[[Le Wiki|https://wiki.ilot.io]]"
#. type: Plain text
msgid ""
"The Wiki is an instance of [[Wiki.JS|https://js.wiki/]], a wiki engine that acts as "
"a knowledge base for the community and for the membership. Since the membership is "
"engaged with various causes, we can expect this space to eventually become a "
"resource for those whose values matches ours."
msgstr ""
"Le Wiki est une instance de [[Wiki.JS|https://js.wiki/]], un moteur wiki qui agit "
"comme une base de connaissances pour la communauté et pour les membres. Comme les "
"membres sont engagés dans diverses causes, nous pouvons nous attendre à ce que cet "
"espace devienne une ressource pour ceux dont les valeurs correspondent aux nôtres."
#. type: Title #
#, no-wrap
msgid "[[The Lab|https://lab.ilot.io]]"
msgstr "[[Le Lab|https://lab.ilot.io]]"
#. type: Plain text
msgid ""
"The Lab is an instance of [[GitLab|https://en.wikipedia.org/wiki/GitLab]], a forge "
"based on Git that enables easier collaboration between developpers. As of now, it is "
"the main developpment space for ilot, thus it is more used by the technical working "
"group. If you are a developper, or use Git in your workflow, this is a cooperative "
"alternative to GitHub. If you are curious, all of our known issues our tracked "
"[[here|https://lab.ilot.io/ilot/issues/-/issues]]. Our very own website uses GitLab "
"Pages as its backend and its source-code can be found [[here|https://lab.ilot.io/"
"ilot/ilot.io]]."
msgstr ""
"Le Lab est une instance de [[GitLab|https://en.wikipedia.org/wiki/GitLab]], une "
"forge basée sur Git qui facilite la collaboration entre les développeurs. Pour "
"l'instant, c'est le principal espace de développement d'ilot, et il est donc plus "
"utilisé par le groupe de travail technique. Si vous êtes un développeur, ou si vous "
"utilisez Git dans votre travail, c'est une alternative coopérative à GitHub. Si vous "
"êtes curieux-ses, tous nos bogues informatiques connus sont suivis [[ici|https://lab."
"ilot.io/ilot/issues/-/issues]]. Notre propre site web utilise GitLab Pages comme "
"technology d'hébergement et son code source peut être trouvé [[ici|https://lab.ilot."
"io/ilot/ilot.io]]."
#. type: Title #
#, no-wrap
msgid "Our Auxillary Services"
msgstr "Nos services auxiliaires"
#. type: Plain text
msgid ""
"The following platforms are more there as a support role. They allow better "
"management of the other platforms, and they are here to give you an overview of our "
"infrastructure."
msgstr ""
"Les plates-formes suivantes ont plutôt un rôle de soutien. Elles permettent une "
"meilleure gestion des autres plateformes et sont là pour vous donner une vue "
"d'ensemble de notre infrastructure."
#. type: Bullet: '* '
msgid ""
"[[Auth|https://auth.ilot.io]], an instance of [[Authentik|https://goauthentik.io]], "
"is our unified authenticaton system. It is the service that allows a membre to "
"access all of our platforms using the same account. From this space, you can also "
"see all of the different spaces that you have access to. It is also through Auth "
"that you can change account settings, like your password or email."
msgstr ""
"[[Auth|https://auth.ilot.io]], une instance de [[Authentik|https://goauthentik.io]], "
"est notre système d'authentification unifié. C'est le service qui permet à un membre "
"d'accéder à toutes nos plateformes en utilisant le même compte. Depuis cet espace, "
"vous pouvez également voir tous les espaces auxquels vous avez accès. C'est "
"également via Auth que vous pouvez modifier les paramètres de votre compte, comme "
"votre mot de passe ou votre adresse électronique."
#. type: Bullet: '* '
msgid ""
"[[Support|https://support.ilot.io/en/hc/706927618]], an instance of [[Freescout|"
"https://freescout.net/]], is our technical support platform where you can find "
"guides on how to use ilot and where you can open support tickets. You can go [[here|"
"https://support.ilot.io/en/hc/706927618/3/how-to-request-help?category_id=3]] for "
"more details on how to ask for help."
msgstr ""
"[[Support|https://support.ilot.io/en/hc/706927618]], une instance de [[Freescout|"
"https://freescout.net/]], est notre plateforme d'assistance technique où vous pouvez "
"trouver des guides sur l'utilisation d'ilot et où vous pouvez ouvrir des billets "
"d'assistance. Vous pouvez consulter [[here|https://support.ilot.io/fr/hc/706927618/3/"
"comment-faire-une-demande-de-soutien-technique?category_id=3]] pour plus de détails "
"sur la manière de demander de l'aide."
#. type: Bullet: '* '
msgid ""
"[[Status|https://status.ilot.io]], an instance of [[Uptime-Kuma|https://github.com/"
"louislam/uptime-kuma]], allows us to keep track of the state of the network. If "
"something goes down, Status will alert the technical working group. If you have "
"issues connecting to any of our platforms, you can go there to see the state of the "
"network."
msgstr ""
"[[Status|https://status.ilot.io]], une instance de [[Uptime-Kuma|https://github.com/"
"louislam/uptime-kuma]], nous permet de suivre l'état du réseau. Si quelque chose "
"tombe en panne, Status alertera le groupe de travail technique. Si vous avez des "
"difficultés à vous connecter à l'une de nos plateformes, vous pouvez aller voir "
"l'état du réseau."
#. type: Bullet: '* '
msgid ""
"[[Notif|https://notif.ilot.io/]], an instance of [[listmonk|https://listmonk.app/]], "
"allows the working groups to easily communicate with the rest of the membership in "
"case of announcements or technical issues"
msgstr ""
"[[Notif|https://notif.ilot.io/]], une instance de [[listmonk|https://listmonk."
"app/]], permet aux groupes de travail de communiquer facilement avec le reste des "
"membres en cas d'annonces ou de problèmes techniques"

View file

@ -1,26 +0,0 @@
[[!meta title="Platforms"]]
# [[The Cloud|https://cloud.ilot.io]]
The Cloud is an instance of [[Nextcloud|https://nextcloud.com/]], a productivity collaboration platform analogous to Google Drive. An **instance** is an autonomous version of a web service. In Nextcloud's case, even though there exists an **official** service maintained by the developpers, we are totally indendant from them. The only thing that ties us to the official instance is that we use the same underlying technology, hosted on our own infrastructure.
# [[The Agora|https://agora.ilot.io]]
The Agora is an instance of [[Mastodon|https://en.wikipedia.org/wiki/Mastodon_(social_network)]], a decentarilized microblogging social media network that exists within a larger federation in community called the [[Fediverse|https://en.wikipedia.org/wiki/Fediverse]]. Presenting itself as an alternative to Twitter, it represents a federated alternative to the siloed model of traditionnal social media networks. It's as if you could follow your grand-mother from Facebook, with your Instagram account. In practice, this allows you to follow accounts that are hosted on other independant instances, from your account on Ilot. A post that you like can be **boosted**, which can then be boosted by those who follow your account. It is thus a social network model where the propagation technology is human rather than algorithmic.
# [[The Wiki|https://wiki.ilot.io]]
The Wiki is an instance of [[Wiki.JS|https://js.wiki/]], a wiki engine that acts as a knowledge base for the community and for the membership. Since the membership is engaged with various causes, we can expect this space to eventually become a resource for those whose values matches ours.
# [[The Lab|https://lab.ilot.io]]
The Lab is an instance of [[GitLab|https://en.wikipedia.org/wiki/GitLab]], a forge based on Git that enables easier collaboration between developpers. As of now, it is the main developpment space for ilot, thus it is more used by the technical working group. If you are a developper, or use Git in your workflow, this is a cooperative alternative to GitHub. If you are curious, all of our known issues our tracked [[here|https://lab.ilot.io/ilot/issues/-/issues]]. Our very own website uses GitLab Pages as its backend and its source-code can be found [[here|https://lab.ilot.io/ilot/ilot.io]].
# Our Auxillary Services
The following platforms are more there as a support role. They allow better management of the other platforms, and they are here to give you an overview of our infrastructure.
* [[Auth|https://auth.ilot.io]], an instance of [[Authentik|https://goauthentik.io]], is our unified authenticaton system. It is the service that allows a membre to access all of our platforms using the same account. From this space, you can also see all of the different spaces that you have access to. It is also through Auth that you can change account settings, like your password or email.
* [[Support|https://support.ilot.io/en/hc/706927618]], an instance of [[Freescout|https://freescout.net/]], is our technical support platform where you can find guides on how to use ilot and where you can open support tickets. You can go [[here|https://support.ilot.io/en/hc/706927618/3/how-to-request-help?category_id=3]] for more details on how to ask for help.
* [[Status|https://status.ilot.io]], an instance of [[Uptime-Kuma|https://github.com/louislam/uptime-kuma]], allows us to keep track of the state of the network. If something goes down, Status will alert the technical working group. If you have issues connecting to any of our platforms, you can go there to see the state of the network.
* [[Notif|https://notif.ilot.io/]], an instance of [[listmonk|https://listmonk.app/]], allows the working groups to easily communicate with the rest of the membership in case of announcements or technical issues

Binary file not shown.

View file

@ -1,8 +0,0 @@
<!-- the anchors force ikiwiki to use a tags instead of spans. hopefully. -->
<ul class="nav navbar-nav navbar-right">
<li>[[Home|index]]</li>
<li>[[Platforms]]</li>
<li>[[Archives|https://notif.ilot.io/archive]]</li>
<li>[[Support|https://support.ilot.io/en/hc/706927618]]</li>
<li>[[Join]]</li>
</ul>

View file

@ -1,56 +1,11 @@
/* Color palette */ /* Color palette */
:root { :root {
/* Purple */ --bs-light-rgb: 248, 248, 248;
--dark-purple: #3a2354;
--medium-purple: #56347c; /* logo */
--light-purple: #9f73d2;
--background-purple: #f3edf9;
/* Green */
--darker-green: #014d00;
--dark-green: #3b833a;
--medium-dark-green: #53b351;
--medium-light-green: #73d171; /* buttons */
--background-green: #a8ffa0;
/* Gray */
--dark-gray: #393a35;
--medium-dark-gray: #58595b;
--medium-light-gray: #b5b7b9;
--light-gray: #dadbdc;
--background-gray: #f0f1f2;
/* Misc */
--yellow: #ffd500;
--light-yellow: #ffec8c;
--background-yellow: #fffff0;
--red: #ef1f31;
/* Shadows */
--banner-button-shadow: 1px 1px 1px black, 2px 2px 5px var(--dark-gray), inset 1px 1px 1px var(--background-green);
--green-button-shadow: 1px 1px 1px var(--medium-dark-gray), 2px 2px 5px var(--light-gray), inset 1px 1px 1px var(--background-green);
--gray-button-shadow: 1px 1px 1px black, 2px 2px 5px var(--dark-gray), inset 1px 1px 1px var(--background-gray);
} }
a {
/* Sticky footer styles --bs-link-color: #337ab7;
-------------------------------------------------- */
html {
position: relative;
min-height: 100%;
}
body {
/* Margin bottom by footer height */
margin-bottom: 60px;
}
.footer {
position: absolute;
bottom: 0;
width: 100%;
/* Set the fixed height of the footer here */
height: 60px;
background-color: #f5f5f5;
} }
@ -58,22 +13,14 @@ body {
-------------------------------------------------- */ -------------------------------------------------- */
/* Not required for template or sticky footer method. */ /* Not required for template or sticky footer method. */
body > .container { main > .container {
padding: 60px 15px 15px; padding: 60px 15px 15px;
} }
.container .text-muted {
margin: 20px 0;
}
.pagedate { .pagedate {
font-size: 14px; font-size: 14px;
} }
.footer > .container {
padding-right: 15px;
padding-left: 15px;
}
textarea { textarea {
width: 100%; width: 100%;
} }
@ -93,33 +40,6 @@ code {
font-size: 80%; font-size: 80%;
} }
/* comments fixup */
.comment {
border: none;
padding: 1em;
margin: 1em;
background: #f3f3f3;
}
.mastodon-comment {
display: flex;
}
/* mastodon posts have a span to hide the scheme and post id, use it */
.mastodon-comment-content span.invisible {
display: none;
}
.mastodon-comment .avatar img {
margin-right: 1rem;
}
.mastodon-comment span.disabled {
display: none;
}
.mastodon-comment .author {
display: flex;
justify-content: space-between;
}
.mastodon-comment .author time {
font-size: small;
}
.actions ul { .actions ul {
margin: inherit; margin: inherit;
padding: inherit; padding: inherit;
@ -127,22 +47,22 @@ code {
/* list-style-type: none; */ /* list-style-type: none; */
} }
a {
text-decoration: none;
}
/* limit main content to ~90 chars per line */ /* limit main content to ~90 chars per line */
/* update: practical typography recommends 2-3 alphabets */ /* update: practical typography recommends 2-3 alphabets */
#content { #content {
max-width: 35em; /* this is 2.5 alphabets with Charter */ max-width: 35em; /* this is 2.5 alphabets with Charter */
margin-top: 15px
} }
/* limit header as well otherwise logo is out of whack without sidebar */ /* limit header as well otherwise logo is out of whack without sidebar */
.navbar-fixed-top .container { .fixed-top .container-fluid {
max-width: 55em; max-width: 55em;
} }
.navbar .selflink {
display: block;
padding: 15px 15px;
}
/* some hacking at typefaces to get some fresh zest in here /* some hacking at typefaces to get some fresh zest in here
* fallbacks from: * fallbacks from:
* https://en.wikipedia.org/wiki/List_of_typefaces_included_with_Microsoft_Windows * https://en.wikipedia.org/wiki/List_of_typefaces_included_with_Microsoft_Windows
@ -209,12 +129,12 @@ blockquote {
/* enlarge body point size for charter for larger displays */ /* enlarge body point size for charter for larger displays */
@media (min-device-width: 750px) { @media (min-device-width: 750px) {
body { body {
font-size: 20px; font-size: 18px;
line-height: 1.3; /* default in FF is ~1.48, try seems a bit to sparse */ line-height: 1.3; /* default in FF is ~1.48, try seems a bit to sparse */
} }
/* to match the other bootstrap workaround, below */ /* to match the other bootstrap workaround, below */
blockquote { blockquote {
font-size: 20px; font-size: 18px;
} }
/* UI elements should be a little less intrusive */ /* UI elements should be a little less intrusive */
.navbar, .footer { .navbar, .footer {
@ -440,8 +360,8 @@ header h1::before {
/* Language switchers */ /* Language switchers */
.language-switcher { .language-switcher {
font-size: 14px;
background: #f8f8f8; background: #f8f8f8;
color: #333; color: #333;
border-color: #ccc; border-color: #ccc;
@ -449,15 +369,128 @@ header h1::before {
.language-switcher:hover { .language-switcher:hover {
background: #e6e6e6; background: #e6e6e6;
color: #333; }
/* Sign-in buttons */
.sign-in:hover {
background: #e6e6e6;
}
/* Footer */
.footer ul {
margin: inherit;
padding: 0;
height: inherit;
list-style-type: none;
}
.footer h5 {
font-weight: bold;
}
.footer li a {
color: #777;
}
.footer li {
color: #777;
}
.footer p {
color: #777;
}
/* Listmonk form */
.listmonk-form {
display: table;
}
.listmonk-form .t {
display: table-cell;
width: 100%;
}
.listmonk-form a {
color: #777;
text-decoration-line: underline;
}
.listmonk-form .t > input {
width: 100%;
background: #f8f8f8;
color: #777;
text-align: left;
border-color: #ccc; border-color: #ccc;
} }
.language-switcher-top { .listmonk-form button {
display: block; background: #f8f8f8;
padding-top: 9px; color: #777;
width: 120px; /* Force size to prevent overflowing breadcrumbs */ border-color: #ccc;
height: 35px; margin-top: -2px;
z-index: 5; margin-left: 12px;
} }
.listmonk-form button:hover {
background: #e6e6e6;
color: #777;
border-color: #ccc;
}
/* NavBar */
/* Navbar variables */
.navbar {
--bs-navbar-padding-y: 0;
--bs-navbar-padding-x: 0;
}
.nav-link {
--bs-nav-link-padding-y: 5px;
--bs-nav-link-padding-x: 15px;
}
.dropdown-menu li a {
font-size: 14px;
display: block;
padding: 3px 20px;
clear: both;
font-weight: 400;
line-height: 1.42857143;
color: #333;
border-color: #ccc;
white-space: nowrap;
}
.dropdown-menu li a:hover {
background: #e6e6e6;
}
/* Usually is set automatically by bootstrap, but do it manually to let ikiwiki handle links */
.nav-link li a, .nav-link .selflink {
display: block;
padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
font-size: var(--bs-nav-link-font-size);
font-weight: var(--bs-nav-link-font-weight);
color: var(--bs-nav-link-color);
text-decoration: none;
transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out;
}
.nav-link .selflink {
color: #393a35;
}
.nav-link li a:hover, .nav-link .selflink:hover {
color: #393a35;
}
.navbar-brand {
height: 50px;
padding: 15px 0;
}

596
css/style.css Normal file
View file

@ -0,0 +1,596 @@
/* ikiwiki style sheet */
/* Note that instead of modifying this style sheet, you can instead edit
* local.css and use it to override or change settings in this one.
*/
/* html5 compat */
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
display: block;
}
div.header, header.header {
margin: 0;
font-size: 140%;
font-weight: bold;
line-height: 1em;
display: block;
}
.inlineheader .author {
margin: 0;
font-size: 112%;
font-weight: bold;
display: block;
}
.actions ul {
margin: 0;
padding: 6px .4em;
height: 1em;
list-style-type: none;
}
.actions li {
display: inline;
padding: .2em;
}
.pageheader .actions ul {
border-bottom: 1px solid #000;
}
.inlinepage .actions ul {
border-bottom: 0;
}
#otherlanguages ul {
margin: 0;
padding: 6px;
list-style-type: none;
}
#otherlanguages li {
display: inline;
padding: .2em .4em;
}
.pageheader #otherlanguages {
border-bottom: 1px solid #000;
}
.inlinecontent,
.inlineenclosure {
margin-top: .4em;
}
.pagefooter,
.inlinefooter,
.comments {
clear: both;
}
#pageinfo {
margin: 1em 0;
border-top: 1px solid #000;
}
.tags {
margin-top: 1em;
}
.inlinepage .tags {
display: inline;
}
.mapparent {
text-decoration: none;
}
.img caption {
font-size: 80%;
caption-side: bottom;
text-align: center;
}
img.img {
margin: 0.5ex;
}
.align-left {
float:left;
}
.align-right {
float:right;
}
#backlinks {
margin-top: 1em;
}
#searchform {
display: inline;
float: right;
}
#editcontent {
width: 98%;
}
.editcontentdiv {
width: auto;
overflow: auto;
}
img {
border-style: none;
}
pre {
overflow: auto;
}
div.recentchanges {
border-style: solid;
border-width: 1px;
overflow: auto;
width: auto;
clear: none;
background: #eee;
color: black !important;
}
.recentchanges .metadata {
padding: 0px 0.5em;
}
.recentchanges .changelog {
font-style: italic;
clear: both;
display: block;
padding: 1px 2px;
background: white !important;
color: black !important;
}
.recentchanges .desc {
display: none;
}
.recentchanges .diff {
display: none;
}
.recentchanges .committer {
float: left;
margin: 0;
width: 40%;
}
.recentchanges .committype {
float: left;
margin: 0;
width: 5%;
font-size: small;
}
.recentchanges .changedate {
float: left;
margin: 0;
width: 35%;
font-size: small;
}
.recentchanges .pagelinks,
.recentchanges .revert {
float: right;
margin: 0;
width: 60%;
}
.blogform, #blogform {
padding: 10px 10px;
border: 1px solid #aaa;
background: #eee;
color: black !important;
width: auto;
overflow: auto;
}
.inlinepage {
padding: 10px 10px;
border: 1px solid #aaa;
overflow: auto;
}
.pagedate,
.pagelicense,
.pagecopyright {
font-style: italic;
display: block;
margin-top: 1em;
}
.archivepagedate {
font-style: italic;
}
.archivepage {
margin-bottom: 1em;
}
.error {
color: #C00;
}
.sidebar {
width: 20ex;
float: right;
margin-left: 4px;
margin-bottom: 4px;
margin-top: -1px;
padding: 0ex 2ex;
background: white;
border: 1px solid black;
color: black !important;
}
hr.poll {
height: 10pt;
color: white !important;
background: #eee;
border: 2px solid black;
}
div.poll {
margin-top: 1ex;
margin-bottom: 1ex;
padding: 1ex 1ex;
border: 1px solid #aaa;
}
span.color {
padding: 2px;
}
.comment-header,
.microblog-header {
font-style: italic;
margin-top: .3em;
}
.comment .author,
.microblog .author {
font-weight: bold;
}
.comment-subject {
font-weight: bold;
}
.comment-avatar {
float: right;
}
.comment {
border: 1px solid #aaa;
padding: 3px;
}
div.progress {
margin-top: 1ex;
margin-bottom: 1ex;
border: 1px solid #888;
width: 400px;
background: #eee;
color: black !important;
padding: 1px;
}
div.progress-done {
background: #ea6 !important;
color: black !important;
text-align: center;
padding: 1px;
}
/* things to hide in printouts */
@media print {
.actions { display: none; }
.tags { display: none; }
.trails { display: none; }
.feedbutton { display: none; }
#searchform { display: none; }
.blogform, #blogform { display: none; }
#backlinks { display: none; }
.addcomment { display: none; }
}
/* infobox template */
.infobox {
float: right;
margin-left: 2ex;
margin-top: 1ex;
margin-bottom: 1ex;
padding: 1ex 1ex;
border: 1px solid #aaa;
background: white;
color: black !important;
}
/* notebox template */
.notebox {
float: right;
margin-left: 2ex;
margin-top: 1ex;
margin-bottom: 1ex;
padding: 1ex 1ex;
border: 1px solid #aaa;
width: 25%;
background: white;
color: black !important;
}
/* popup template and backlinks hiding */
.popup {
border-bottom: 1px dotted #366;
color: #366;
}
.popup .balloon,
.popup .paren,
.popup .expand {
display: none;
text-align: left;
}
.popup:hover .balloon,
.popup:focus .balloon {
position: absolute;
display: inline;
margin: 1em 0 0 -2em;
padding: 0.625em;
border: 2px solid;
background-color: #dee;
color: black;
}
/* form styling */
fieldset {
margin: 1ex 0;
border: 1px solid black;
}
legend {
padding: 0 1ex;
}
.fb_submit {
float: left;
margin: 2px 0;
}
label.block {
display: block;
}
label.inline {
display: inline;
}
input#openid_identifier {
background: url(wikiicons/openidlogin-bg.gif) no-repeat;
background-color: #fff;
background-position: 0 50%;
color: #000;
padding-left: 18px;
}
input#searchbox {
background: url(wikiicons/search-bg.gif) no-repeat;
background-color: #fff;
background-position: 100% 50%;
color: #000;
padding-right: 16px;
}
/* invalid form fields */
.fb_invalid {
color: red;
background: white !important;
}
/* required form fields */
.fb_required {
font-weight: bold;
}
/* highlight plugin */
pre.hl { color:#000000; background-color:#ffffff; }
.hl.num { color:#2928ff; }
.hl.esc { color:#ff00ff; }
.hl.str { color:#ff0000; }
.hl.dstr { color:#818100; }
.hl.slc { color:#838183; font-style:italic; }
.hl.com { color:#838183; font-style:italic; }
.hl.dir { color:#008200; }
.hl.sym { color:#000000; }
.hl.line { color:#555555; }
.hl.mark { background-color:#ffffbb; }
.hl.kwa { color:#000000; font-weight:bold; }
.hl.kwb { color:#830000; }
.hl.kwc { color:#000000; font-weight:bold; }
.hl.kwd { color:#010181; }
/* calendar plugin */
.month-calendar-day-this-day,
.year-calendar-this-month {
background-color: #eee;
}
.month-calendar-day-head,
.month-calendar-day-nolink,
.month-calendar-day-link,
.month-calendar-day-this-day,
.month-calendar-day-future {
text-align: right;
}
.month-calendar-arrow A:link,
.year-calendar-arrow A:link,
.month-calendar-arrow A:visited,
.year-calendar-arrow A:visited {
text-decoration: none;
font-weight: normal;
font-size: 150%;
}
/* outlines */
li.L1 { list-style: upper-roman; }
li.L2 { list-style: decimal; }
li.L3 { list-style: lower-alpha; }
li.L4 { list-style: disc; }
li.L5 { list-style: square; }
li.L6 { list-style: circle; }
li.L7 { list-style: lower-roman; }
li.L8 { list-style: upper-alpha; }
/* tag cloud */
.pagecloud {
float: right;
width: 30%;
text-align: center;
padding: 10px 10px;
border: 1px solid #aaa;
background: #eee;
color: black !important;
}
.smallestPC { font-size: 70%; }
.smallPC { font-size: 85%; }
.normalPC { font-size: 100%; }
.bigPC { font-size: 115%; }
.biggestPC { font-size: 130%; }
/* orange feed button */
.feedbutton {
background: #ff6600;
color: white !important;
border-left: 1px solid #cc9966;
border-top: 1px solid #ccaa99;
border-right: 1px solid #993300;
border-bottom: 1px solid #331100;
padding: 0px 0.5em 0px 0.5em;
font-family: sans-serif;
font-weight: bold;
font-size: small;
text-decoration: none;
margin-top: 1em;
}
.feedbutton:hover {
color: white !important;
background: #ff9900;
}
.FlattrButton {
display: none;
}
/* login selector */
#login_choice {
display: none;
}
#login_input_area {
clear: both;
padding: 10px;
}
#login_btns, #login_btns br {
clear: both;
}
#login_highlight {
background-color: black;
float: left;
}
.login_large_btn {
padding: 1em 1.5em;
border: 1px solid #DDD;
margin: 3px;
float: left;
}
.login_small_btn {
padding: 4px 4px;
border: 1px solid #DDD;
margin: 3px;
float: left;
}
a.login_large_btn:focus {
outline: none;
}
a.login_large_btn:focus {
outline-style: none;
}
.login_selected {
border: 4px solid #DDD;
}
.fileupload-content .ui-progressbar {
width: 200px;
height: 20px;
}
.fileupload-content .ui-progressbar-value {
background: url(ikiwiki/images/pbar-ani.gif);
}
.trails {
margin-top: 1em;
margin-bottom: 1em;
}
.trail {
display: block;
clear: both;
position: relative;
}
.trailprev {
display: block;
text-align: left;
position: absolute;
top: 0%;
left: 3%;
width: 30%;
}
.trailup {
display: block;
text-align: center;
margin-left: 35%;
margin-right: 35%;
}
.trailnext {
display: block;
text-align: right;
position: absolute;
top: 0%;
width: 30%;
right: 3%;
}
.trailsep {
display: none;
}
/* mobile/small-screen-friendly layout */
@media (max-width: 600px) {
.sidebar {
width: auto;
float: none;
margin-top: 0;
border: none;
}
/* if the mobile browser is new enough, use flex layout to shuffle
* the sidebar to the end */
.page {
display: -webkit-box;
display: -webkit-flexbox;
display: -webkit-flex;
display: -moz-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-flex-direction: tb;
-webkit-flex-direction: column;
-webkit-flex-flow: column;
-ms-flex-direction: column;
flex-direction: column;
}
#pageheader {
-webkit-box-ordinal-group: -1;
-webkit-order: -1;
-ms-box-ordinal-group: -1;
-ms-flex-order: -1;
order: -1;
}
.sidebar, #footer {
-webkit-box-ordinal-group: 1;
-webkit-order: 1;
-ms-box-ordinal-group: 1;
-ms-flex-order: 1;
order: 1;
}
.blogform, #blogform {
padding: 4px 4px;
}
}

14
error/404.mdwn Normal file
View file

@ -0,0 +1,14 @@
[[!meta title="HTTP 404: Not Found"]]
# HTTP 404
## Not Found
### The page could not be found or you don't have permission to view it.
<hr/>
The resource that you are attempting to access does not exist or you don't have the necessary permissions to view it.
Make sure the address is correct and that the page hasn't moved.
Please contact us using [our support page](https://support.ilot.io) if you think this is a mistake.
You can also check our [network status](https://status.ilot.io) for up-to-date status information on our services

10
error/422.mdwn Normal file
View file

@ -0,0 +1,10 @@
[[!meta title="HTTP 422: Unprocessable content"]]
# HTTP 422
## Unprocessable content
### The change you requested is rejected.
<hr/>
Make sure you have access to the thing you tried to changee
Please contact us using [our support page](https://support.ilot.io) if you think this is a mistake

12
error/500.mdwn Normal file
View file

@ -0,0 +1,12 @@
[[!meta title="HTTP 500: Internal Server Error"]]
# HTTP 500
## Internal Server Error
### We're sorry. Something went wrong on our end
<hr/>
Try refreshing the page, or going back and attempting the action again.
Please contact us using [our support page](https://support.ilot.io) if this problem persists.
You can also check our [network status](https://status.ilot.io) for up-to-date status information on our services

13
error/502.mdwn Normal file
View file

@ -0,0 +1,13 @@
[[!meta title="HTTP 502: Bad Gateway Error"]]
# HTTP 502
## Bad Gateway error
### We're sorry. ilot is currently unavailable.
<hr/>
Try refreshing the page, or going back and attempting the action again.
Please contact us using [our support page](https://support.ilot.io) if this problem persists.
You can also check our [network status](https://status.ilot.io) for up-to-date status information on our services

12
error/503.mdwn Normal file
View file

@ -0,0 +1,12 @@
[[!meta title="HTTP 503: Service unavailable"]]
# HTTP 503
## Service unavailable
### We're sorry. ilot is currently unavailable.
<hr/>
Try refreshing the page, or going back and attempting the action again.
Please contact us using [our support page](https://support.ilot.io) if this problem persists.
You can also check our [network status](https://status.ilot.io) for up-to-date status information on our services

View file

Before

Width:  |  Height:  |  Size: 696 B

After

Width:  |  Height:  |  Size: 696 B

BIN
favicon-24x24-white.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 921 B

BIN
favicon-24x24.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 921 B

View file

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 106 KiB

After

Width:  |  Height:  |  Size: 106 KiB

BIN
footer.fr.mo Normal file

Binary file not shown.

153
footer.fr.po Normal file
View file

@ -0,0 +1,153 @@
# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR Free Software Foundation, Inc.
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: ilot.io\n"
"POT-Creation-Date: 2025-03-13 17:50-0400\n"
"PO-Revision-Date: 2025-04-03 18:43-0400\n"
"Last-Translator: \n"
"Language-Team: dev@ayakael.net\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.5\n"
#. type: Content of: <p><div><div><div><h5>
msgid "Support"
msgstr "Soutien"
#. type: Content of: <p><div><div><div><ul><li>
msgid "[[FAQs|https://support.ilot.io/en/hc/706927618]]"
msgstr "[[FAQ|https://support.ilot.io/fr/hc/706927618]]"
#. type: Content of: <p><div><div><div><ul><li>
msgid "[[Known issues|https://forge.ilot.io/ilot/-/projects/3]]"
msgstr "[[Problèmes connus|https://forge.ilot.io/ilot/-/projects/3]]"
#. type: Content of: <p><div><div><div><ul><li>
msgid "[[Support ticket|https://support.ilot.io/help/706927618]]"
msgstr "[[Soutien technique|https://support.ilot.io/help/706927618]]"
#. type: Content of: <p><div><div><div><h5>
msgid "Contribute"
msgstr "Contribuer"
#. type: Content of: <p><div><div><div><ul><li>
msgid "[[Become a member|join]]"
msgstr "[[Devenir membre|join]]"
#. type: Content of: <p><div><div><div><ul><li><li>
msgid "[[Donate|https://opencollective.com/ilot]]"
msgstr "[[Faire un don|https://opencollective.com/ilot]]"
#. type: Content of: <p><div><div><div><ul><li><li>
msgid "[[Git Forge|https://forge.ilot.io/ilot/-/projects]]"
msgstr "[[Forge Git|https://forge.ilot.io/ilot/-/projects]]"
#. type: Content of: <p><div><div><div><ul><li><li>
msgid "[[Wiki|https://wiki.ilot.io]]"
msgstr "[[Wiki|https://wiki.ilot.io]]"
#. type: Content of: <p><div><div><div><h5>
msgid "About us"
msgstr "À propos de nous"
#. type: Content of: <p><div><div><div><ul><li>
msgid "[[Code of conduct|meta/code-of-conduct]]"
msgstr "[[Code de conduite|meta/code-of-conduct]]"
#. type: Content of: <p><div><div><div><ul><li>
msgid "[[Licenses|meta/license]]"
msgstr "[[Licenses|meta/license]]"
#. type: Content of: <p><div><div><div><ul><li>
msgid "[[Network Status|https://status.ilot.io/status/ilot]]"
msgstr "[[État du réseau|https://status.ilot.io/status/ilot]]"
#. type: Content of: <p><div><div><div><h5>
msgid "News"
msgstr "Nouvelles"
#. type: Content of: <p><div><div><div><p>
msgid "Subscribe to our [[newsletter|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>
msgid ""
"<input type=\"hidden\" name=\"nonce\" /> <input id=\"39425\" type=\"hidden\" "
"name=\"l\" value=\"39425113-44b5-46f7-9897-91151467b05f\" />"
msgstr ""
#. type: Content of: <p><div><div><div><form><div>
msgid ""
"<input aria-label=\"Email\" class=\"btn\" type=\"email\" name=\"email\" "
"required placeholder=\"E-mail\" />"
msgstr ""
"<input aria-label=\"Email\" class=\"btn\" type=\"email\" name=\"email\" "
"required placeholder=\"Courriel\" />"
#. type: Content of: <p><div><div><div><form>
msgid ""
"<button aria-label=\"Subscribe\" class=\"btn\" type=\"button\" data-bs-"
"toggle=\"modal\" data-bs-target=\"#hcaptchamodal\">Subscribe</button>"
msgstr ""
"<button aria-label=\"Subscribe\" class=\"btn\" type=\"button\" data-bs-"
"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
#~| msgid "[[Wiki|https://wiki.ilot.io]]"
#~ msgid "Powered by [[ikiwiki|http://ikiwiki.info/]]."
#~ msgstr "[[Wiki|https://wiki.ilot.io]]"
#~ msgid "[[Join a work group]]"
#~ msgstr "[[Rejoindre un groupe de travail]]"
#~ msgid "[[Donate]]"
#~ msgstr "[[Fair un don]]"
#~ msgid "[[Data and Privacy Policy]]"
#~ msgstr "[[Politique des données]]"
#~ msgid ""
#~ "<span class=\"copyright\"> Copyleft © 2024-2024 ilot [[CC-BY-SA|meta/"
#~ "license]] </span> <span class=\"pull-right powered-by\"> Powered by "
#~ "[[ikiwiki|http://ikiwiki.info/]]. </span>"
#~ msgstr ""
#~ "<span class=\"copyright\"> Copyleft © 2024-2024 ilot [[CC-BY-SA|meta/"
#~ "license]] </span> <span class=\"pull-right powered-by\"> Propulsé par "
#~ "[[ikiwiki|http://ikiwiki.info/]]. </span>"

79
footer.html Normal file
View file

@ -0,0 +1,79 @@
<p class="text-muted">
<div class="container">
<div class="row">
<div class="col-sm-3">
<h5>Support</h5>
<ul>
<li>[[FAQs|https://support.ilot.io/en/hc/706927618]]</li>
<li>[[Known issues|https://forge.ilot.io/ilot/-/projects/3]]</li>
<li>[[Support ticket|https://support.ilot.io/help/706927618]]</li>
</ul>
</div>
<div class="col-sm-3">
<h5>Contribute</h5>
<ul>
<li>[[Become a member|join]]
<li>[[Donate|https://opencollective.com/ilot]]</li>
<li>[[Git Forge|https://forge.ilot.io/ilot/-/projects]]</li>
<li>[[Wiki|https://wiki.ilot.io]]</li>
</ul>
</div>
<div class="col-sm-3">
<h5>About us</h5>
<ul>
<li>[[Code of conduct|meta/code-of-conduct]]</li>
<li>[[Licenses|meta/license]]</li>
<li>[[Network Status|https://status.ilot.io/status/ilot]]</li>
</div>
<div class="col-sm-3 listmonk-form">
<h5>News</h5>
<p>Subscribe to our [[newsletter|https://notif.ilot.io/archive]]</p>
<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 id="39425" type="hidden" name="l" value="39425113-44b5-46f7-9897-91151467b05f" />
<div class="t">
<input aria-label="Email" class="btn" type="email" name="email" required placeholder="E-mail" />
</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>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</p>

121
footer.pot Normal file
View file

@ -0,0 +1,121 @@
# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR Free Software Foundation, Inc.
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2025-03-13 17:50-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. type: Content of: <p><div><div><div><h5>
msgid "Support"
msgstr ""
#. type: Content of: <p><div><div><div><ul><li>
msgid "[[FAQs|https://support.ilot.io/en/hc/706927618]]"
msgstr ""
#. type: Content of: <p><div><div><div><ul><li>
msgid "[[Known issues|https://forge.ilot.io/ilot/-/projects/3]]"
msgstr ""
#. type: Content of: <p><div><div><div><ul><li>
msgid "[[Support ticket|https://support.ilot.io/help/706927618]]"
msgstr ""
#. type: Content of: <p><div><div><div><h5>
msgid "Contribute"
msgstr ""
#. type: Content of: <p><div><div><div><ul><li>
msgid "[[Become a member|join]]"
msgstr ""
#. type: Content of: <p><div><div><div><ul><li><li>
msgid "[[Donate|https://opencollective.com/ilot]]"
msgstr ""
#. type: Content of: <p><div><div><div><ul><li><li>
msgid "[[Git Forge|https://forge.ilot.io/ilot/-/projects]]"
msgstr ""
#. type: Content of: <p><div><div><div><ul><li><li>
msgid "[[Wiki|https://wiki.ilot.io]]"
msgstr ""
#. type: Content of: <p><div><div><div><h5>
msgid "About us"
msgstr ""
#. type: Content of: <p><div><div><div><ul><li>
msgid "[[Code of conduct|meta/code-of-conduct]]"
msgstr ""
#. type: Content of: <p><div><div><div><ul><li>
msgid "[[Licenses|meta/license]]"
msgstr ""
#. type: Content of: <p><div><div><div><ul><li>
msgid "[[Network Status|https://status.ilot.io/status/ilot]]"
msgstr ""
#. type: Content of: <p><div><div><div><h5>
msgid "News"
msgstr ""
#. type: Content of: <p><div><div><div><p>
msgid "Subscribe to our [[newsletter|https://notif.ilot.io/archive]]"
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>
msgid ""
"<input type=\"hidden\" name=\"nonce\" /> <input id=\"981a0\" type=\"hidden\" "
"name=\"l\" value=\"981a06b2-c76b-41d0-be19-f6092c4e91cd\" />"
msgstr ""
#. type: Content of: <p><div><div><div><form><div>
msgid ""
"<input aria-label=\"Email\" class=\"btn\" type=\"email\" name=\"email\" "
"required placeholder=\"E-mail\" />"
msgstr ""
#. type: Content of: <p><div><div><div><form>
msgid ""
"<button aria-label=\"Subscribe\" class=\"btn\" type=\"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 ""

View file

@ -16,7 +16,7 @@ adminuser: []
# users who are banned from the wiki # users who are banned from the wiki
banned_users: [] banned_users: []
# where the source of the wiki is located # where the source of the wiki is located
srcdir: ./content srcdir: ./
# where to build the wiki # where to build the wiki
destdir: ./public destdir: ./public
# base url to the wiki # base url to the wiki
@ -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
@ -54,7 +55,6 @@ templatedir: ./templates
#templatedir: /usr/share/ikiwiki/templates #templatedir: /usr/share/ikiwiki/templates
# base wiki source location # base wiki source location
#underlaydir: /usr/share/ikiwiki/basewiki #underlaydir: /usr/share/ikiwiki/basewiki
underlaydir: ./basewiki
# display verbose messages? # display verbose messages?
verbose: 1 verbose: 1
# log to syslog? # log to syslog?
@ -92,7 +92,7 @@ hardlink: 0
# group for wrappers to run in # group for wrappers to run in
#wrappergroup: ikiwiki #wrappergroup: ikiwiki
# extra library and plugin directories # extra library and plugin directories
libdirs: [lib] libdirs: [plugins]
# extra library and plugin directory (searched after libdirs) # extra library and plugin directory (searched after libdirs)
libdir: '' libdir: ''
# environment variables # environment variables
@ -102,7 +102,7 @@ timezone: :/etc/localtime
# regexp of normally excluded files to include # regexp of normally excluded files to include
#include: ^\.htaccess$ #include: ^\.htaccess$
# regexp of files that should be skipped # regexp of files that should be skipped
#exclude: ^(*\.private|Makefile)$ exclude: ^(tools/.*|public/.*|plugins/.*)$
# specifies the characters that are allowed in source filenames # specifies the characters that are allowed in source filenames
wiki_file_chars: -[:alnum:]+/.:_ wiki_file_chars: -[:alnum:]+/.:_
# allow symlinks in the path leading to the srcdir (potentially insecure) # allow symlinks in the path leading to the srcdir (potentially insecure)

View file

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
images/header_black.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

View file

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

BIN
images/header_white.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

View file

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

View file

Before

Width:  |  Height:  |  Size: 103 KiB

After

Width:  |  Height:  |  Size: 103 KiB

View file

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View file

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View file

Before

Width:  |  Height:  |  Size: 293 B

After

Width:  |  Height:  |  Size: 293 B

View file

Before

Width:  |  Height:  |  Size: 6 KiB

After

Width:  |  Height:  |  Size: 6 KiB

View file

Before

Width:  |  Height:  |  Size: 95 KiB

After

Width:  |  Height:  |  Size: 95 KiB

View file

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View file

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

BIN
index.fr.mo Normal file

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-06-21 13:14-0400\n" "POT-Creation-Date: 2024-09-08 12:28-0400\n"
"PO-Revision-Date: 2024-06-21 13:16-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
@ -38,23 +38,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 "
"different free and open-source platforms, like Nextcloud and Mastodon, all " "a Nextcloud instance, a free and open-source collaboration platform "
"integrated together by a shared authentication system. We aim to eventually " "analoguous to Google Drive. We aim to eventually incorporate as a "
"incorporate as a cooperative to create a digital infrastructure that is by " "cooperative to create a digital infrastructure that is by and for its users "
"and for its users as an alternative to the siloed and privatized internet of " "as an alternative to the siloed and privatized internet of today. Members "
"today. Members fund our operations and decide how to set our community " "fund our operations and decide how to set our community policies, steward "
"policies, steward our data, and manage our shared technologies. Members also " "our data, and manage our shared technologies. Members also provide the labor "
"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 différentes plateformes libre, comme Nextcloud et Mastodon, " "administrons une instance de Nextcloud, une plateforme libre de travail et "
"toutes intégrées par un système d'authentification partagé. Notre objectif " "de stockage de donnée analogue à Google Drive. Notre objectif est de nous "
"est de nous constituer en coopérative afin de créer une infrastructure " "constituer en coopérative afin de créer une infrastructure numérique par et "
"numérique par et pour ses utilisateur-ice-s, en alternative à l'internet " "pour ses utilisateur-ice-s, en alternative à l'internet cloisonné et "
"cloisonné et privatisé d'aujourd'hui. Les membres financent nos opérations " "privatisé d'aujourd'hui. Les membres financent nos opérations et décident de "
"et décident de la manière de définir nos politiques communautaires, de gérer " "la manière de définir nos politiques communautaires, de gérer nos données et "
"nos données et nos technologies partagées. Les membres fournissent également " "nos technologies partagées. Les membres fournissent également la main-"
"la main-d'œuvre nécessaire au fonctionnement de l'ilot à tous les niveaux." "d'œuvre nécessaire au fonctionnement de l'ilot à tous les niveaux."
#. type: Plain text #. type: Plain text
msgid "" msgid ""
@ -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 ""
@ -95,15 +95,13 @@ msgstr "Pour en savoir plus, veuillez consulter ces pages :"
msgid "[[Platforms]] - The online spaces we use and manage \n" msgid "[[Platforms]] - The online spaces we use and manage \n"
msgstr "[[Plateformes|platforms]] - Les espaces en ligne que nous utilisons et gérons \n" msgstr "[[Plateformes|platforms]] - Les espaces en ligne que nous utilisons et gérons \n"
#. type: Plain text
#, no-wrap #, no-wrap
msgid "[[Archives|https://notif.ilot.io/archive]] - Archives of our communications with our members \n" #~ msgid "[[Archives|https://notif.ilot.io/archive]] - Archives of our communications with our members \n"
msgstr "[[Archives|https://notif.ilot.io/archive]] - Archives de nos communications avec nos membres \n" #~ msgstr "[[Archives|https://notif.ilot.io/archive]] - Archives de nos communications avec nos membres \n"
#. type: Plain text
#, no-wrap #, no-wrap
msgid "[[Support|https://support.ilot.io/en/hc/706927618]] - Guides for how to do things on ilot and to get help \n" #~ msgid "[[Support|https://support.ilot.io/en/hc/706927618]] - Guides for how to do things on ilot and to get help \n"
msgstr "[[Support|https://support.ilot.io/fr/hc/706927618]] - Guides sur la façon de faire les choses sur l'ilot et d'obtenir de l'aide \n" #~ msgstr "[[Support|https://support.ilot.io/fr/hc/706927618]] - Guides sur la façon de faire les choses sur l'ilot et d'obtenir de l'aide \n"
#~ msgid "Welcome to your new wiki." #~ msgid "Welcome to your new wiki."
#~ msgstr "Bienvenue sur votre nouveau wiki." #~ msgstr "Bienvenue sur votre nouveau wiki."

View file

@ -6,7 +6,7 @@
<hr> <hr>
</header> </header>
[[ilot|https://ilot.io]] is a cooperative corner of the internet. We operate different free and open-source platforms, like Nextcloud and Mastodon, all integrated together by a shared authentication system. 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. [[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 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.
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]].
@ -17,5 +17,3 @@ ilot was started in 2021 when AESA-CIRI, the sociology, anthropology and immigra
To learn more please visit some of the pages: To learn more please visit some of the pages:
[[Platforms]] - The online spaces we use and manage [[Platforms]] - The online spaces we use and manage
[[Archives|https://notif.ilot.io/archive]] - Archives of our communications with our members
[[Support|https://support.ilot.io/en/hc/706927618]] - Guides for how to do things on ilot and to get help

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-06-21 13:14-0400\n" "POT-Creation-Date: 2024-09-11 14:44-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"
@ -35,13 +35,13 @@ msgstr ""
#, markdown-text #, markdown-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 "
"different free and open-source platforms, like Nextcloud and Mastodon, all " "a Nextcloud instance, a free and open-source collaboration platform "
"integrated together by a shared authentication system. We aim to eventually " "analoguous to Google Drive. We aim to eventually incorporate as a "
"incorporate as a cooperative to create a digital infrastructure that is by " "cooperative to create a digital infrastructure that is by and for its users "
"and for its users as an alternative to the siloed and privatized internet of " "as an alternative to the siloed and privatized internet of today. Members "
"today. Members fund our operations and decide how to set our community " "fund our operations and decide how to set our community policies, steward "
"policies, steward our data, and manage our shared technologies. Members also " "our data, and manage our shared technologies. Members also provide the labor "
"provide the labor to run ilot at all levels." "to run ilot at all levels."
msgstr "" msgstr ""
#. type: Plain text #. type: Plain text
@ -76,17 +76,3 @@ msgstr ""
#, markdown-text, no-wrap #, markdown-text, no-wrap
msgid "[[Platforms]] - The online spaces we use and manage \n" msgid "[[Platforms]] - The online spaces we use and manage \n"
msgstr "" msgstr ""
#. type: Plain text
#, markdown-text, no-wrap
msgid ""
"[[Archives|https://notif.ilot.io/archive]] - Archives of our communications "
"with our members \n"
msgstr ""
#. type: Plain text
#, markdown-text, no-wrap
msgid ""
"[[Support|https://support.ilot.io/en/hc/706927618]] - Guides for how to do "
"things on ilot and to get help \n"
msgstr ""

BIN
join.fr.mo Normal file

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-06-20 23:55-0400\n" "POT-Creation-Date: 2025-04-03 18:26-0400\n"
"PO-Revision-Date: 2024-06-20 21:54-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"
@ -54,19 +55,15 @@ msgstr ""
msgid "Basic Info:" msgid "Basic Info:"
msgstr "Informations de base:" msgstr "Informations de base:"
#. type: Content of: <hr><div><div><form><div><input><input> #. type: Content of: <hr><div><div><form><div><input>
msgid "" msgid ""
"<label for=\"name\">Name <i>(optional)</i></label> <input id=\"name\" " "<label for=\"name\">Name <i>(optional)</i></label> <input id=\"name\" "
"name=\"name\" type=\"text\" maxlength=\"40\"> <label for=\"emptyfield\">This " "name=\"name\" type=\"text\" maxlength=\"40\">"
"should be left unchanged</label> <input id=\"emptyfield\" "
"name=\"emptyfield\" type=\"text\" maxlength=\"40\">"
msgstr "" msgstr ""
"<label for=\"name\">Nom <i>(optionnel)</i></label> <input id=\"name\" " "<label for=\"name\">Nom <i>(optionnel)</i></label> <input id=\"name\" "
"name=\"name\" type=\"text\" maxlength=\"40\"> <label " "name=\"name\" type=\"text\" maxlength=\"40\">"
"for=\"emptyfield\">Veuillez ne pas écrire dans cette espace</label> <input "
"id=\"emptyfield\" name=\"emptyfield\" type=\"text\" maxlength=\"40\">"
#. type: Content of: <hr><div><div><form><div><input><input><p> #. type: Content of: <hr><div><div><form><div><input><p>
msgid "" msgid ""
"<label for=\"email\">Contact email address</label> <input id=\"email\" " "<label for=\"email\">Contact email address</label> <input id=\"email\" "
"name=\"email\" type=\"email\" required></p>" "name=\"email\" type=\"email\" required></p>"
@ -76,16 +73,16 @@ msgstr ""
#. type: Content of: <hr><div><div><form><p> #. type: Content of: <hr><div><div><form><p>
msgid "" msgid ""
"In up to 500 characters (the maximum length of a toot on Mastodon), can you " "In up to 500 characters, can you tell us a bit about yourself? For instance, "
"tell us a bit about yourself? For instance, why you wish to join ilot, and " "why you wish to join ilot, and what hopes or aspirations you have for the "
"what hopes or aspirations you have for the site and/or your participation? " "site and/or your participation? Wed like to build a picture of how our "
"Wed like to build a picture of how our members want to use the site." "members want to use the site."
msgstr "" msgstr ""
"En 500 caractères maximum (la longueur maximale d'un texte sur Mastodon), " "En 500 caractères maximum, pouvez-vous nous parler un peu de vous ? Par "
"pouvez-vous nous parler un peu de vous ? Par exemple, pourquoi vous " "exemple, pourquoi vous souhaitez rejoindre l'ilot, et quels sont vos espoirs "
"souhaitez rejoindre l'ilot, et quels sont vos espoirs ou vos aspirations " "ou vos aspirations pour le site et/ou votre participation ? Nous aimerions "
"pour le site et/ou votre participation ? Nous aimerions nous faire une idée " "nous faire une idée de la manière dont nos membres souhaitent utiliser le "
"de la manière dont nos membres souhaitent utiliser le site." "site."
#. type: Content of: <hr><div><div><form><p> #. type: Content of: <hr><div><div><form><p>
msgid "" msgid ""
@ -108,10 +105,34 @@ msgid ""
msgstr "" msgstr ""
#. type: Content of: <hr><div><div><form><h2> #. type: Content of: <hr><div><div><form><h2>
msgid "Open Collective:"
msgstr ""
#. type: Content of: <hr><div><div><form><p>
msgid ""
"Contributing through [[Open Collective|https://opencollective.com/ilot]] is "
"a strongly encouraged. We use this platform to manage our finances, thus "
"applicants must have an existing Open Collective profile, which can be set "
"up [[here|https://opencollective.com/create-account]]."
msgstr ""
"Faire une contribution à travers [[Open Collective|https://opencollective."
"com/ilot]] est fortement encouragé. Nous utilisons cette plateforme pour "
"gérer nos finances. Or, vous devez avoir un profil Open Collective, qui peut "
"être créé [[ici|https://opencollective.com/create-account]]."
#. type: Content of: <hr><div><div><form><p>
msgid ""
"<label for=\"oc-user\">Link to your OpenCollective profile</label> <input "
"id=\"oc-user\" name=\"oc-user\" type=\"text\" required maxlength=\"50\"></p>"
msgstr ""
"<label for=\"oc-user\">Lien de votre profil Open Collective</label> <input "
"id=\"oc-user\" name=\"oc-user\" type=\"text\" required maxlength=\"50\"></p>"
#. type: Content of: <hr><div><div><form><p><h2>
msgid "Code of Conduct:" msgid "Code of Conduct:"
msgstr "Code de conduite:" msgstr "Code de conduite:"
#. type: Content of: <hr><div><div><form><p> #. type: Content of: <hr><div><div><form><p><p>
msgid "" msgid ""
"New members must also agree to our [[Code of Conduct|meta/code-of-conduct]] " "New members must also agree to our [[Code of Conduct|meta/code-of-conduct]] "
"and must be over the age of consent." "and must be over the age of consent."
@ -119,7 +140,7 @@ msgstr ""
"Les nouveaux membres doivent également accepter notre [[Code de conduite|" "Les nouveaux membres doivent également accepter notre [[Code de conduite|"
"meta/code-de-conduite]] et doivent avoir atteint l'âge du consentement." "meta/code-de-conduite]] et doivent avoir atteint l'âge du consentement."
#. type: Content of: <hr><div><div><form><p> #. type: Content of: <hr><div><div><form><p><p>
msgid "" msgid ""
"<input type=\"checkbox\" id=\"agree-to-terms\" name=\"agree-to-terms\" " "<input type=\"checkbox\" id=\"agree-to-terms\" name=\"agree-to-terms\" "
"value=\"agree-to-terms\" required> I am over 18, and have read, understood " "value=\"agree-to-terms\" required> I am over 18, and have read, understood "
@ -134,24 +155,24 @@ msgstr ""
"résumé du code ; n'oubliez pas de consulter le code complet en cliquant sur " "résumé du code ; n'oubliez pas de consulter le code complet en cliquant sur "
"le lien.</p>" "le lien.</p>"
#. type: Content of: <hr><div><div><form><p><p> #. type: Content of: <hr><div><div><form><p><p><p>
msgid "" msgid ""
"The Code of Conduct is a living document that outlines acceptable behaviour " "The Code of Conduct is a living document that outlines acceptable behaviour "
"when members use ilot's Nextcloud, Mastodon, GitLab, and all other spaces " "when members use ilot's Nextcloud and all other spaces governed by the co-"
"governed by the co-op. ilot adopts the “co-op values”: self-responsibility, " "op. ilot adopts the “co-op values”: self-responsibility, democracy, "
"democracy, equality, equity, and solidarity. Our members believe in the " "equality, equity, and solidarity. Our members believe in the ethical values "
"ethical values of honesty, openness, social responsibility, and caring for " "of honesty, openness, social responsibility, and caring for others. We also "
"others. We also follow the rest of the ICA co-op principles." "follow the rest of the ICA co-op principles."
msgstr "" msgstr ""
"Le code de conduite est un document évolutif qui décrit les comportements " "Le code de conduite est un document évolutif qui décrit les comportements "
"acceptables lorsque les membres utilisent Nextcloud, Mastodon, GitLab et " "acceptables lorsque les membres utilisent Nextcloud et tous les autres "
"tous les autres espaces régis par la coopérative. Ilot adopte les \"valeurs " "espaces régis par la coopérative. Ilot adopte les \"valeurs de la "
"de la coopérative\" : l'auto-responsabilité, la démocratie, l'égalité, " "coopérative\" : l'auto-responsabilité, la démocratie, l'égalité, l'équité et "
"l'équité et la solidarité. Nos membres croient aux valeurs éthiques que sont " "la solidarité. Nos membres croient aux valeurs éthiques que sont "
"l'honnêteté, l'ouverture, la responsabilité sociale et l'attention portée " "l'honnêteté, l'ouverture, la responsabilité sociale et l'attention portée "
"aux autres. Nous suivons également les autres principes coopératifs de l'ACI." "aux autres. Nous suivons également les autres principes coopératifs de l'ACI."
#. type: Content of: <hr><div><div><form><p><p> #. type: Content of: <hr><div><div><form><p><p><p>
msgid "" msgid ""
"We welcome anyone able to use our services and willing to accept the " "We welcome anyone able to use our services and willing to accept the "
"responsibilities of membership, regardless of qualities such as gender " "responsibilities of membership, regardless of qualities such as gender "
@ -168,7 +189,7 @@ msgstr ""
"économique, la structure familiale, la spiritualité, la religion (ou " "économique, la structure familiale, la spiritualité, la religion (ou "
"l'absence de religion), l'éducation ou d'autres traits personnels." "l'absence de religion), l'éducation ou d'autres traits personnels."
#. type: Content of: <hr><div><div><form><p><p> #. type: Content of: <hr><div><div><form><p><p><p>
msgid "" msgid ""
"We particularly celebrate diversity and do not tolerate bigotry, prejudice " "We particularly celebrate diversity and do not tolerate bigotry, prejudice "
"or supremacy of any kind. Diverse opinions on politics, religion, and other " "or supremacy of any kind. Diverse opinions on politics, religion, and other "
@ -184,11 +205,11 @@ msgstr ""
"modérateurs prendront des mesures à l'égard des messages qui contreviennent " "modérateurs prendront des mesures à l'égard des messages qui contreviennent "
"à ce code de conduite." "à ce code de conduite."
#. type: Content of: <hr><div><div><form><p><h2> #. type: Content of: <hr><div><div><form><p><p><h2>
msgid "Are you a robot?" msgid "Are you a robot?"
msgstr "Êtes-vous un robot ?" msgstr "Êtes-vous un robot ?"
#. type: Content of: <hr><div><div><form><p><p> #. type: Content of: <hr><div><div><form><p><p><p>
msgid "" msgid ""
"<label for=\"math-spam-trap\">What is two plus seven?</label> <input " "<label for=\"math-spam-trap\">What is two plus seven?</label> <input "
"id=\"math-spam-trap\" name=\"math-spam-trap\" type=\"text\" required " "id=\"math-spam-trap\" name=\"math-spam-trap\" type=\"text\" required "
@ -200,6 +221,81 @@ 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 ""
#~ "async function checkDuplicate() { var url='https://lab.ilot.io/api/v4/"
#~ "projects/99/issues'; var email = document.getElementById(\"email\")."
#~ "value; const response = await fetch(url, { headers: { 'PRIVATE-TOKEN': "
#~ "'glpat-RaoZSW_3XMhkGr19k6Wv', '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 baseurl = 'https://"
#~ "lab.ilot.io/api/v4/projects/99/issues?&labels=Request'; 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(\"Registration "
#~ "requires agreement of Code of Conduct\"); return false; } if(!email) "
#~ "{ alert(\"Email cannot be empty\"); return false; } if(mathspamtrap != "
#~ "\"9\") { alert(\"Wrong math answer\"); return false; } if(await "
#~ "checkDuplicate(email) === true) { alert(\"This email address has already "
#~ "requested an account\"); 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 aboutme = aboutme.replace(/\\r?"
#~ "\\n/g, \"%0A%0A\"); var howfound = document.getElementById(\"how-found\")."
#~ "value; 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 = ocuser.replace (/"
#~ "^/,'OpenCollective Profile: '); var description = name + \"%0A%0A\" + "
#~ "aboutme + \"%0A%0A\" + howfound + \"%0A%0A\" + ocuser; var url = baseurl."
#~ "concat(\"&title=\", email, \"&description=\", description); console."
#~ "log('Description:', description); fetch(url, { method: 'POST', headers: "
#~ "{ 'PRIVATE-TOKEN': 'glpat-RaoZSW_3XMhkGr19k6Wv', 'Content-Type': "
#~ "'application/json', }, }) .then(response => response.json()) ."
#~ "then(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\"); }) .catch(error => { console."
#~ "error('Error:', error) }); }"
#~ msgstr ""
#~ "async function checkDuplicate() { var url='https://lab.ilot.io/api/v4/"
#~ "projects/99/issues'; var email = document.getElementById(\"email\")."
#~ "value; const response = await fetch(url, { headers: { 'PRIVATE-TOKEN': "
#~ "'glpat-RaoZSW_3XMhkGr19k6Wv', '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 baseurl = 'https://"
#~ "lab.ilot.io/api/v4/projects/99/issues?&labels=Request'; 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(\"Registration "
#~ "requires agreement of Code of Conduct\"); return false; } if(!email) "
#~ "{ alert(\"Courriel ne peut pas être vide\"); return false; } "
#~ "if(mathspamtrap != \"9\") { alert(\"Mauvaise réponse mathématique\"); "
#~ "return false; } if(await checkDuplicate(email) === true) { alert(\"Ce "
#~ "courriel a déjà fait 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 aboutme = aboutme."
#~ "replace(/\\r?\\n/g, \"%0A%0A\"); var howfound = document."
#~ "getElementById(\"how-found\").value; 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 = ocuser.replace (/^/,'OpenCollective Profile: '); var description "
#~ "= name + \"%0A%0A\" + aboutme + \"%0A%0A\" + howfound + \"%0A%0A\" + "
#~ "ocuser; var url = baseurl.concat(\"&title=\", email, \"&description=\", "
#~ "description); console.log('Description:', description); fetch(url, "
#~ "{ method: 'POST', headers: { 'PRIVATE-TOKEN': 'glpat-"
#~ "RaoZSW_3XMhkGr19k6Wv', 'Content-Type': 'application/json', }, }) ."
#~ "then(response => response.json()) .then(result => { console."
#~ "log('Success:', result); alert(\"Demande soumise. Un membre du groupe de "
#~ "travail traitera votre inscription dans les plus brefs délais. Si vous "
#~ "n'êtes pas contacté dans les sept jours suivant votre inscription, "
#~ "veuillez envoyer un courriel à support@ilot.io.\"); }) .catch(error => "
#~ "{ console.error('Error:', error) }); }"
#~ msgid "alert(\"Email cannot be empty\")" #~ msgid "alert(\"Email cannot be empty\")"
#~ msgstr "alert(\"Le courriel ne peut pas être vide\")" #~ msgstr "alert(\"Le courriel ne peut pas être vide\")"

View file

@ -1,6 +1,6 @@
[[!meta title="Join"]] [[!meta title="Join"]]
<script src=/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>
@ -20,31 +20,26 @@
<div class="formgroup"> <div class="formgroup">
<label for="name">Name <i>(optional)</i></label> <label for="name">Name <i>(optional)</i></label>
<input id="name" name="name" type="text" maxlength="40"> <input id="name" name="name" type="text" maxlength="40">
<label for="emptyfield">This should be left unchanged</label>
<input id="emptyfield" name="emptyfield" type="text" maxlength="40">
<p><label for="email">Contact email address</label> <p><label for="email">Contact email address</label>
<input id="email" name="email" type="email" required></p> <input id="email" name="email" type="email" required></p>
</div> </div>
<p>In up to 500 characters (the maximum length of a toot on Mastodon), can you tell us a bit about yourself? For instance, why you wish to join ilot, and what hopes or aspirations you have for the site and/or your participation? Wed like to build a picture of how our members want to use the site.</p> <p>In up to 500 characters, can you tell us a bit about yourself? For instance, why you wish to join ilot, and what hopes or aspirations you have for the site and/or your participation? Wed like to build a picture of how our members want to use the site.</p>
<p><textarea id="about-me" name="about-me" rows="10" maxlength="500"></textarea></p> <p><textarea id="about-me" name="about-me" rows="10" maxlength="500"></textarea></p>
<p>How did you find out about ilot? We want to better understand how people are finding us.</p> <p>How did you find out about ilot? We want to better understand how people are finding us.</p>
<p><textarea id="how-found" name="how-found" rows="10" maxlength="500"></textarea></p> <p><textarea id="how-found" name="how-found" rows="10" maxlength="500"></textarea></p>
<!-- Hide until we get an OpenCollective account going
<h2 id="open-collective">Open Collective:</h2> <h2 id="open-collective">Open Collective:</h2>
<p>Contributing through [[Open Collective|https://opencollective.com/ilotio]] is a condition <p>Contributing through [[Open Collective|https://opencollective.com/ilot]] is a strongly encouraged. We use this platform to manage our finances, thus applicants must have an existing Open Collective profile, which can be set up [[here|https://opencollective.com/create-account]].</p>
of membership, so applicants must have an existing Open Collective profile, which can be set up [[here|https://opencollective.com/create-account]].</p>
<p><label for="oc-user">Link to your OpenCollective profile</label> <p><label for="oc-user">Link to your OpenCollective profile</label>
<input id="oc-user" name="oc-user" type="text" required maxlength="50"></p> <input id="oc-user" name="oc-user" type="text" required maxlength="50"></p>
-->
<h2 id="code-of-conduct">Code of Conduct:</h2> <h2 id="code-of-conduct">Code of Conduct:</h2>
<p>New members must also agree to our [[Code of Conduct|meta/code-of-conduct]] and must be over the age of consent.</p> <p>New members must also agree to our [[Code of Conduct|meta/code-of-conduct]] and must be over the age of consent.</p>
<p><input type="checkbox" id="agree-to-terms" name="agree-to-terms" value="agree-to-terms" required> I am over 18, and have read, understood and agree to the terms of use and engagement as written in the [[Code of Conduct|meta/code-of-conduct]]. A summary of the code is below; please be sure to review the full Code via the link.</p> <p><input type="checkbox" id="agree-to-terms" name="agree-to-terms" value="agree-to-terms" required> I am over 18, and have read, understood and agree to the terms of use and engagement as written in the [[Code of Conduct|meta/code-of-conduct]]. A summary of the code is below; please be sure to review the full Code via the link.</p>
<p>The Code of Conduct is a living document that outlines acceptable behaviour when members use ilot's Nextcloud, Mastodon, GitLab, and all other spaces governed by the co-op. ilot adopts the “co-op values”: self-responsibility, democracy, equality, equity, and solidarity. Our members believe in the ethical values of honesty, openness, social responsibility, and caring for others. We also follow the rest of the ICA co-op principles. </p> <p>The Code of Conduct is a living document that outlines acceptable behaviour when members use ilot's Nextcloud and all other spaces governed by the co-op. ilot adopts the “co-op values”: self-responsibility, democracy, equality, equity, and solidarity. Our members believe in the ethical values of honesty, openness, social responsibility, and caring for others. We also follow the rest of the ICA co-op principles. </p>
<p>We welcome anyone able to use our services and willing to accept the responsibilities of membership, regardless of qualities such as gender identity or expression, sexual orientation, disability, mental illness, neuro(a)typicality, physical appearance, body size, age, race, nationality, ethnicity, socioeconomic status, family structure, spirituality, religion (or lack thereof), education, or other personal traits.</p> <p>We welcome anyone able to use our services and willing to accept the responsibilities of membership, regardless of qualities such as gender identity or expression, sexual orientation, disability, mental illness, neuro(a)typicality, physical appearance, body size, age, race, nationality, ethnicity, socioeconomic status, family structure, spirituality, religion (or lack thereof), education, or other personal traits.</p>
<p>We particularly celebrate diversity and do not tolerate bigotry, prejudice or supremacy of any kind. Diverse opinions on politics, religion, and other matters are welcome as long as they align with our core values. Let there be no confusion, ilot is anti-racist, anti-fascist, and anti-transphobic. Moderators will take action on posts that contravene this Code of Conduct.</p> <p>We particularly celebrate diversity and do not tolerate bigotry, prejudice or supremacy of any kind. Diverse opinions on politics, religion, and other matters are welcome as long as they align with our core values. Let there be no confusion, ilot is anti-racist, anti-fascist, and anti-transphobic. Moderators will take action on posts that contravene this Code of Conduct.</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: 2024-06-20 23:55-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>
@ -44,15 +44,13 @@ msgstr ""
msgid "Basic Info:" msgid "Basic Info:"
msgstr "" msgstr ""
#. type: Content of: <hr><div><div><form><div><input><input> #. type: Content of: <hr><div><div><form><div><input>
msgid "" msgid ""
"<label for=\"name\">Name <i>(optional)</i></label> <input id=\"name\" " "<label for=\"name\">Name <i>(optional)</i></label> <input id=\"name\" "
"name=\"name\" type=\"text\" maxlength=\"40\"> <label for=\"emptyfield\">This " "name=\"name\" type=\"text\" maxlength=\"40\">"
"should be left unchanged</label> <input id=\"emptyfield\" "
"name=\"emptyfield\" type=\"text\" maxlength=\"40\">"
msgstr "" msgstr ""
#. type: Content of: <hr><div><div><form><div><input><input><p> #. type: Content of: <hr><div><div><form><div><input><p>
msgid "" msgid ""
"<label for=\"email\">Contact email address</label> <input id=\"email\" " "<label for=\"email\">Contact email address</label> <input id=\"email\" "
"name=\"email\" type=\"email\" required></p>" "name=\"email\" type=\"email\" required></p>"
@ -60,10 +58,10 @@ msgstr ""
#. type: Content of: <hr><div><div><form><p> #. type: Content of: <hr><div><div><form><p>
msgid "" msgid ""
"In up to 500 characters (the maximum length of a toot on Mastodon), can you " "In up to 500 characters, can you tell us a bit about yourself? For instance, "
"tell us a bit about yourself? For instance, why you wish to join ilot, and " "why you wish to join ilot, and what hopes or aspirations you have for the "
"what hopes or aspirations you have for the site and/or your participation? " "site and/or your participation? Wed like to build a picture of how our "
"Wed like to build a picture of how our members want to use the site." "members want to use the site."
msgstr "" msgstr ""
#. type: Content of: <hr><div><div><form><p> #. type: Content of: <hr><div><div><form><p>
@ -85,16 +83,34 @@ msgid ""
msgstr "" msgstr ""
#. type: Content of: <hr><div><div><form><h2> #. type: Content of: <hr><div><div><form><h2>
msgid "Code of Conduct:" msgid "Open Collective:"
msgstr "" msgstr ""
#. type: Content of: <hr><div><div><form><p> #. type: Content of: <hr><div><div><form><p>
msgid "" msgid ""
"Contributing through [[Open Collective|https://opencollective.com/ilot]] is "
"a strongly encouraged. We use this platform to manage our finances, thus "
"applicants must have an existing Open Collective profile, which can be set "
"up [[here|https://opencollective.com/create-account]]."
msgstr ""
#. type: Content of: <hr><div><div><form><p>
msgid ""
"<label for=\"oc-user\">Link to your OpenCollective profile</label> <input "
"id=\"oc-user\" name=\"oc-user\" type=\"text\" required maxlength=\"50\"></p>"
msgstr ""
#. type: Content of: <hr><div><div><form><p><h2>
msgid "Code of Conduct:"
msgstr ""
#. type: Content of: <hr><div><div><form><p><p>
msgid ""
"New members must also agree to our [[Code of Conduct|meta/code-of-conduct]] " "New members must also agree to our [[Code of Conduct|meta/code-of-conduct]] "
"and must be over the age of consent." "and must be over the age of consent."
msgstr "" msgstr ""
#. type: Content of: <hr><div><div><form><p> #. type: Content of: <hr><div><div><form><p><p>
msgid "" msgid ""
"<input type=\"checkbox\" id=\"agree-to-terms\" name=\"agree-to-terms\" " "<input type=\"checkbox\" id=\"agree-to-terms\" name=\"agree-to-terms\" "
"value=\"agree-to-terms\" required> I am over 18, and have read, understood " "value=\"agree-to-terms\" required> I am over 18, and have read, understood "
@ -103,17 +119,17 @@ msgid ""
"sure to review the full Code via the link.</p>" "sure to review the full Code via the link.</p>"
msgstr "" msgstr ""
#. type: Content of: <hr><div><div><form><p><p> #. type: Content of: <hr><div><div><form><p><p><p>
msgid "" msgid ""
"The Code of Conduct is a living document that outlines acceptable behaviour " "The Code of Conduct is a living document that outlines acceptable behaviour "
"when members use ilot's Nextcloud, Mastodon, GitLab, and all other spaces " "when members use ilot's Nextcloud and all other spaces governed by the "
"governed by the co-op. ilot adopts the “co-op values”: self-responsibility, " "co-op. ilot adopts the “co-op values”: self-responsibility, democracy, "
"democracy, equality, equity, and solidarity. Our members believe in the " "equality, equity, and solidarity. Our members believe in the ethical values "
"ethical values of honesty, openness, social responsibility, and caring for " "of honesty, openness, social responsibility, and caring for others. We also "
"others. We also follow the rest of the ICA co-op principles." "follow the rest of the ICA co-op principles."
msgstr "" msgstr ""
#. type: Content of: <hr><div><div><form><p><p> #. type: Content of: <hr><div><div><form><p><p><p>
msgid "" msgid ""
"We welcome anyone able to use our services and willing to accept the " "We welcome anyone able to use our services and willing to accept the "
"responsibilities of membership, regardless of qualities such as gender " "responsibilities of membership, regardless of qualities such as gender "
@ -123,7 +139,7 @@ msgid ""
"(or lack thereof), education, or other personal traits." "(or lack thereof), education, or other personal traits."
msgstr "" msgstr ""
#. type: Content of: <hr><div><div><form><p><p> #. type: Content of: <hr><div><div><form><p><p><p>
msgid "" msgid ""
"We particularly celebrate diversity and do not tolerate bigotry, prejudice " "We particularly celebrate diversity and do not tolerate bigotry, prejudice "
"or supremacy of any kind. Diverse opinions on politics, religion, and other " "or supremacy of any kind. Diverse opinions on politics, religion, and other "
@ -133,11 +149,11 @@ msgid ""
"Code of Conduct." "Code of Conduct."
msgstr "" msgstr ""
#. type: Content of: <hr><div><div><form><p><h2> #. type: Content of: <hr><div><div><form><p><p><h2>
msgid "Are you a robot?" msgid "Are you a robot?"
msgstr "" msgstr ""
#. type: Content of: <hr><div><div><form><p><p> #. type: Content of: <hr><div><div><form><p><p><p>
msgid "" msgid ""
"<label for=\"math-spam-trap\">What is two plus seven?</label> <input " "<label for=\"math-spam-trap\">What is two plus seven?</label> <input "
"id=\"math-spam-trap\" name=\"math-spam-trap\" type=\"text\" required " "id=\"math-spam-trap\" name=\"math-spam-trap\" type=\"text\" required "

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,34 +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 emptyfield = document.getElementById("emptyfield").value;
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;
}
if(emptyfield) {
alert("Empty field should 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;
} }
@ -55,31 +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;
// add back on oc is setup var ocuser = ocuser.replace (/^/,'OpenCollective Profile: ');
// var ocuser = document.getElementById("oc-user").value; var description = name + "\n\n" + aboutme + "\n\n" + howfound + "\n\n" + ocuser;
// var ocuser = ocuser.replace (/^/,'OpenCollective Profile: ');
// var description = name + "%0A%0A" + aboutme + "%0A%0A" + howfound + "%0A%0A" + ocuser;
var description = name + "%0A%0A" + aboutme + "%0A%0A" + howfound;
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>

View file

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

BIN
platforms.fr.mo Normal file

Binary file not shown.

177
platforms.fr.po Normal file
View file

@ -0,0 +1,177 @@
# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR Free Software Foundation, Inc.
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: ilot.io\n"
"POT-Creation-Date: 2024-09-08 12:48-0400\n"
"PO-Revision-Date: 2025-04-03 18:49-0400\n"
"Last-Translator: \n"
"Language-Team: dev@ayakael.net\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.5\n"
#. type: Plain text
#, no-wrap
msgid "[[!meta title=\"Platforms\"]]\n"
msgstr "[[!meta title=\"Platformes\"]]\n"
#. type: Title #
#, no-wrap
msgid "[[The Cloud|https://ilot.io/apps/files]]"
msgstr "[[Le Cloud|https://ilot.io/apps/files]]"
#. type: Plain text
msgid ""
"The Cloud is an instance of [[Nextcloud|https://nextcloud.com/]], a "
"productivity collaboration platform analogous to Google Drive. An "
"**instance** is an autonomous version of a web service. In Nextcloud's case, "
"even though there exists an official service maintained by the developpers, "
"we are totally independant from them. The only thing that ties us to the "
"official instance is that we use the same underlying technology, hosted on "
"our own infrastructure."
msgstr ""
"Le Cloud est une instance de [[Nextcloud|https://nextcloud.com/]], une "
"plateforme de collaboration en matière de productivité analogue à Google "
"Drive. Une **instance** est une version autonome d'un service web. Dans le "
"cas de Nextcloud, même s'il existe un service officiel maintenu par les "
"développeurs, nous sommes totalement indépendants d'eux. La seule chose qui "
"nous lie à l'instance officielle est que nous utilisons la même technologie "
"sous-jacente, hébergée sur notre propre infrastructure."
#. type: Title #
#, no-wrap
msgid "Our Auxillary Services"
msgstr "Nos services auxiliaires"
#. type: Plain text
msgid ""
"The following platforms are more there as a support role. They allow better "
"management of the other platforms, and they are here to give you an overview "
"of our infrastructure."
msgstr ""
"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 "
"vue d'ensemble de notre infrastructure."
#. type: Bullet: '* '
msgid ""
"[[Auth|https://auth.ilot.io]], an instance of [[Authentik|https://"
"goauthentik.io]], is our unified authenticaton system. It is the service "
"that allows a membre to access all of our platforms using the same account. "
"From this space, you can also see all of the different spaces that you have "
"access to. It is also through Auth that you can change account settings, "
"like your password or email."
msgstr ""
"[[Auth|https://auth.ilot.io]], une instance de [[Authentik|https://"
"goauthentik.io]], est notre système d'authentification unifié. C'est le "
"service qui permet à un membre d'accéder à toutes nos plateformes en "
"utilisant le même compte. Depuis cet espace, vous pouvez également voir tous "
"les espaces auxquels vous avez accès. C'est également via Auth que vous "
"pouvez modifier les paramètres de votre compte, comme votre mot de passe ou "
"votre adresse électronique."
#. type: Bullet: '* '
msgid ""
"[[Support|https://support.ilot.io/en/hc/706927618]], an instance of "
"[[Freescout|https://freescout.net/]], is our technical support platform "
"where you can find guides on how to use ilot and where you can open support "
"tickets. You can go [[here|https://support.ilot.io/en/hc/706927618/3/how-to-"
"request-help?category_id=3]] for more details on how to ask for help."
msgstr ""
"[[Support|https://support.ilot.io/en/hc/706927618]], une instance de "
"[[Freescout|https://freescout.net/]], est notre plateforme d'assistance "
"technique où vous pouvez trouver des guides sur l'utilisation d'ilot et où "
"vous pouvez ouvrir des billets d'assistance. Vous pouvez consulter [[here|"
"https://support.ilot.io/fr/hc/706927618/3/comment-faire-une-demande-de-"
"soutien-technique?category_id=3]] pour plus de détails sur la manière de "
"demander de l'aide."
#. type: Bullet: '* '
msgid ""
"[[Status|https://status.ilot.io]], an instance of [[Uptime-Kuma|https://"
"github.com/louislam/uptime-kuma]], allows us to keep track of the state of "
"the network. If something goes down, Status will alert the technical working "
"group. If you have issues connecting to any of our platforms, you can go "
"there to see the state of the network."
msgstr ""
"[[Status|https://status.ilot.io]], une instance de [[Uptime-Kuma|https://"
"github.com/louislam/uptime-kuma]], nous permet de suivre l'état du réseau. "
"Si quelque chose tombe en panne, Status alertera le groupe de travail "
"technique. Si vous avez des difficultés à vous connecter à l'une de nos "
"plateformes, vous pouvez aller voir l'état du réseau."
#. type: Bullet: '* '
msgid ""
"[[Notif|https://notif.ilot.io/]], an instance of [[listmonk|https://listmonk."
"app/]], allows the working groups to easily communicate with the rest of the "
"membership in case of announcements or technical issues."
msgstr ""
"[[Notif|https://notif.ilot.io/]], une instance de [[listmonk|https://"
"listmonk.app/]], permet aux groupes de travail de communiquer facilement "
"avec le reste des membres en cas d'annonces ou de problèmes techniques."
#. type: Bullet: '* '
msgid ""
"[[Forge|https://forge.ilot.io]], an instance of [[Forgejo|https://forgejo."
"org/]], is a forge based on git that is the main developpment space for "
"ilot. It is used to [[track our bugs|https://forge.ilot.io/ilot/issues/"
"issues]], [[compile our platforms|https://forge.ilot.io/ilot/iports]] and "
"[[power our website|https://forge.ilot.io/ilot/ilot.io]]."
msgstr ""
"[[Forge|https://forge.ilot.io]], une instance de [[Forgejo|https://forgejo."
"org/]], est une forge basée sur git qui est le principal espace de "
"développement d'ilot. Elle est utilisée pour [[suivre nos bugs|https://forge."
"ilot.io/ilot/issues/issues]], [[compiler nos plateformes|https://forge.ilot."
"io/ilot/iports]] et [[alimenter notre site web|https://forge.ilot.io/ilot/"
"ilot.io]]."
#. type: Bullet: '* '
msgid ""
"[[Wiki|https://wiki.ilot.io]], an instance of [[Wiki.JS|https://js.wiki/]], "
"is a wiki engine that acts as a knowledge base for the community and for the "
"membership. Since the membership is engaged with various causes, we can "
"expect this space to eventually become a resource for those whose values "
"matches ours."
msgstr ""
"[[Wiki|https://wiki.ilot.io]], une instance de [[Wiki.JS|https://js.wiki/]], "
"est un moteur wiki qui agit comme une base de connaissances pour la "
"communauté et pour les membres. Comme les membres sont engagés dans diverses "
"causes, nous pouvons nous attendre à ce que cet espace devienne une "
"ressource pour ceux dont les valeurs correspondent aux nôtres."
#, no-wrap
#~ msgid "[[The Wiki|https://wiki.ilot.io]]"
#~ msgstr "[[Le Wiki|https://wiki.ilot.io]]"
#, no-wrap
#~ msgid "[[The Lab|https://lab.ilot.io]]"
#~ msgstr "[[Le Lab|https://lab.ilot.io]]"
#~ msgid ""
#~ "The Lab is an instance of [[GitLab|https://en.wikipedia.org/wiki/"
#~ "GitLab]], a forge based on Git that enables easier collaboration between "
#~ "developpers. As of now, it is the main developpment space for ilot, thus "
#~ "it is more used by the technical working group. If you are a developper, "
#~ "or use Git in your workflow, this is a cooperative alternative to GitHub. "
#~ "If you are curious, all of our known issues our tracked [[here|https://"
#~ "lab.ilot.io/ilot/issues/-/issues]]. Our very own website uses GitLab "
#~ "Pages as its backend and its source-code can be found [[here|https://lab."
#~ "ilot.io/ilot/ilot.io]]."
#~ msgstr ""
#~ "Le Lab est une instance de [[GitLab|https://en.wikipedia.org/wiki/"
#~ "GitLab]], une forge basée sur Git qui facilite la collaboration entre les "
#~ "développeurs. Pour l'instant, c'est le principal espace de développement "
#~ "d'ilot, et il est donc plus utilisé par le groupe de travail technique. "
#~ "Si vous êtes un développeur, ou si vous utilisez Git dans votre travail, "
#~ "c'est une alternative coopérative à GitHub. Si vous êtes curieux-ses, "
#~ "tous nos bogues informatiques connus sont suivis [[ici|https://lab.ilot."
#~ "io/ilot/issues/-/issues]]. Notre propre site web utilise GitLab Pages "
#~ "comme technology d'hébergement et son code source peut être trouvé [[ici|"
#~ "https://lab.ilot.io/ilot/ilot.io]]."

16
platforms.mdwn Normal file
View file

@ -0,0 +1,16 @@
[[!meta title="Platforms"]]
# [[The Cloud|https://ilot.io/apps/files]]
The Cloud is an instance of [[Nextcloud|https://nextcloud.com/]], a productivity collaboration platform analogous to Google Drive. An **instance** is an autonomous version of a web service. In Nextcloud's case, even though there exists an official service maintained by the developpers, we are totally independant from them. The only thing that ties us to the official instance is that we use the same underlying technology, hosted on our own infrastructure.
# Our Auxillary Services
The following platforms are more there as a support role. They allow better management of the other platforms, and they are here to give you an overview of our infrastructure.
* [[Auth|https://auth.ilot.io]], an instance of [[Authentik|https://goauthentik.io]], is our unified authenticaton system. It is the service that allows a membre to access all of our platforms using the same account. From this space, you can also see all of the different spaces that you have access to. It is also through Auth that you can change account settings, like your password or email.
* [[Support|https://support.ilot.io/en/hc/706927618]], an instance of [[Freescout|https://freescout.net/]], is our technical support platform where you can find guides on how to use ilot and where you can open support tickets. You can go [[here|https://support.ilot.io/en/hc/706927618/3/how-to-request-help?category_id=3]] for more details on how to ask for help.
* [[Status|https://status.ilot.io]], an instance of [[Uptime-Kuma|https://github.com/louislam/uptime-kuma]], allows us to keep track of the state of the network. If something goes down, Status will alert the technical working group. If you have issues connecting to any of our platforms, you can go there to see the state of the network.
* [[Notif|https://notif.ilot.io/]], an instance of [[listmonk|https://listmonk.app/]], allows the working groups to easily communicate with the rest of the membership in case of announcements or technical issues.
* [[Forge|https://forge.ilot.io]], an instance of [[Forgejo|https://forgejo.org/]], is a forge based on git that is the main developpment space for ilot. It is used to [[track our bugs|https://forge.ilot.io/ilot/issues/issues]], [[compile our platforms|https://forge.ilot.io/ilot/iports]] and [[power our website|https://forge.ilot.io/ilot/ilot.io]].
* [[Wiki|https://wiki.ilot.io]], an instance of [[Wiki.JS|https://js.wiki/]], is a wiki engine that acts as a knowledge base for the community and for the membership. Since the membership is engaged with various causes, we can expect this space to eventually become a resource for those whose values matches ours.

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-06-20 23:55-0400\n" "POT-Creation-Date: 2024-09-11 14:44-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"
@ -23,7 +23,7 @@ msgstr ""
#. type: Title # #. type: Title #
#, markdown-text, no-wrap #, markdown-text, no-wrap
msgid "[[The Cloud|https://cloud.ilot.io]]" msgid "[[The Cloud|https://ilot.io/apps/files]]"
msgstr "" msgstr ""
#. type: Plain text #. type: Plain text
@ -32,66 +32,10 @@ msgid ""
"The Cloud is an instance of [[Nextcloud|https://nextcloud.com/]], a " "The Cloud is an instance of [[Nextcloud|https://nextcloud.com/]], a "
"productivity collaboration platform analogous to Google Drive. An " "productivity collaboration platform analogous to Google Drive. An "
"**instance** is an autonomous version of a web service. In Nextcloud's case, " "**instance** is an autonomous version of a web service. In Nextcloud's case, "
"even though there exists an **official** service maintained by the " "even though there exists an official service maintained by the developpers, "
"developpers, we are totally indendant from them. The only thing that ties us " "we are totally independant from them. The only thing that ties us to the "
"to the official instance is that we use the same underlying technology, " "official instance is that we use the same underlying technology, hosted on "
"hosted on our own infrastructure." "our own infrastructure."
msgstr ""
#. type: Title #
#, markdown-text, no-wrap
msgid "[[The Agora|https://agora.ilot.io]]"
msgstr ""
#. type: Plain text
#, markdown-text
msgid ""
"The Agora is an instance of "
"[[Mastodon|https://en.wikipedia.org/wiki/Mastodon_(social_network)]], a "
"decentarilized microblogging social media network that exists within a "
"larger federation in community called the "
"[[Fediverse|https://en.wikipedia.org/wiki/Fediverse]]. Presenting itself as "
"an alternative to Twitter, it represents a federated alternative to the "
"siloed model of traditionnal social media networks. It's as if you could "
"follow your grand-mother from Facebook, with your Instagram account. In "
"practice, this allows you to follow accounts that are hosted on other "
"independant instances, from your account on Ilot. A post that you like can "
"be **boosted**, which can then be boosted by those who follow your "
"account. It is thus a social network model where the propagation technology "
"is human rather than algorithmic."
msgstr ""
#. type: Title #
#, markdown-text, no-wrap
msgid "[[The Wiki|https://wiki.ilot.io]]"
msgstr ""
#. type: Plain text
#, markdown-text
msgid ""
"The Wiki is an instance of [[Wiki.JS|https://js.wiki/]], a wiki engine that "
"acts as a knowledge base for the community and for the membership. Since the "
"membership is engaged with various causes, we can expect this space to "
"eventually become a resource for those whose values matches ours."
msgstr ""
#. type: Title #
#, markdown-text, no-wrap
msgid "[[The Lab|https://lab.ilot.io]]"
msgstr ""
#. type: Plain text
#, markdown-text
msgid ""
"The Lab is an instance of [[GitLab|https://en.wikipedia.org/wiki/GitLab]], a "
"forge based on Git that enables easier collaboration between developpers. As "
"of now, it is the main developpment space for ilot, thus it is more used by "
"the technical working group. If you are a developper, or use Git in your "
"workflow, this is a cooperative alternative to GitHub. If you are curious, "
"all of our known issues our tracked "
"[[here|https://lab.ilot.io/ilot/issues/-/issues]]. Our very own website uses "
"GitLab Pages as its backend and its source-code can be found "
"[[here|https://lab.ilot.io/ilot/ilot.io]]."
msgstr "" msgstr ""
#. type: Title # #. type: Title #
@ -145,5 +89,26 @@ msgid ""
"[[Notif|https://notif.ilot.io/]], an instance of " "[[Notif|https://notif.ilot.io/]], an instance of "
"[[listmonk|https://listmonk.app/]], allows the working groups to easily " "[[listmonk|https://listmonk.app/]], allows the working groups to easily "
"communicate with the rest of the membership in case of announcements or " "communicate with the rest of the membership in case of announcements or "
"technical issues" "technical issues."
msgstr ""
#. type: Bullet: '* '
#, markdown-text
msgid ""
"[[Forge|https://forge.ilot.io]], an instance of "
"[[Forgejo|https://forgejo.org/]], is a forge based on git that is the main "
"developpment space for ilot. It is used to [[track our "
"bugs|https://forge.ilot.io/ilot/issues/issues]], [[compile our "
"platforms|https://forge.ilot.io/ilot/iports]] and [[power our "
"website|https://forge.ilot.io/ilot/ilot.io]]."
msgstr ""
#. type: Bullet: '* '
#, markdown-text
msgid ""
"[[Wiki|https://wiki.ilot.io]], an instance of [[Wiki.JS|https://js.wiki/]], "
"is a wiki engine that acts as a knowledge base for the community and for the "
"membership. Since the membership is engaged with various causes, we can "
"expect this space to eventually become a resource for those whose values "
"matches ours."
msgstr "" msgstr ""

View file

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

BIN
sidebar.fr.mo Normal 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: 2024-06-20 21:11-0400\n" "POT-Creation-Date: 2024-10-08 14:50-0400\n"
"PO-Revision-Date: 2024-06-20 21:15-0400\n" "PO-Revision-Date: 2024-10-08 15:08-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"
@ -25,14 +25,16 @@ msgstr "[[Accueil|index]]"
msgid "[[Platforms]]" msgid "[[Platforms]]"
msgstr "[[Plateformes|platforms]]" msgstr "[[Plateformes|platforms]]"
#. type: Content of: <ul><li>
msgid "[[Archives|https://notif.ilot.io/archive]]"
msgstr "[[Archives|https://notif.ilot.io/archive]]"
#. type: Content of: <ul><li>
msgid "[[Support|https://support.ilot.io/en/hc/706927618]]"
msgstr "[[Aide|https://support.ilot.io/fr/hc/706927618]]"
#. type: Content of: <ul><li> #. type: Content of: <ul><li>
msgid "[[Join]]" msgid "[[Join]]"
msgstr "[[Se joindre|join]]" msgstr "[[Se joindre|join]]"
#. type: Content of: <ul><li>
msgid "[[Your Files|https://ilot.io/apps/files]]"
msgstr "[[Vos fichiers|https://ilot.io/apps/files]]"
#~ msgid "<button class=\"btn sign-in\" onclick=\"window.location.href='https://ilot.io/apps/files';\"> Your Files </button>"
#~ msgstr "<button class=\"btn sign-in\" onclick=\"window.location.href='https://ilot.io/apps/files';\"> Vos fichiers </button>"
#~ msgid "[[Support|https://support.ilot.io/en/hc/706927618]]"
#~ msgstr "[[Aide|https://support.ilot.io/fr/hc/706927618]]"

7
sidebar.html Normal file
View file

@ -0,0 +1,7 @@
<!-- the anchors force ikiwiki to use a tags instead of spans. hopefully. -->
<ul class="navbar-nav nav-link align-items-center ms-auto">
<li>[[Home|index]]</li>
<li>[[Platforms]]</li>
<li>[[Join]]</li>
<li class="btn p-0 border sign-in">[[Your Files|https://ilot.io/apps/files]]</li>
</ul>

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-06-20 23:55-0400\n" "POT-Creation-Date: 2024-10-08 15:06-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"
@ -24,14 +24,10 @@ msgstr ""
msgid "[[Platforms]]" msgid "[[Platforms]]"
msgstr "" msgstr ""
#. type: Content of: <ul><li>
msgid "[[Archives|https://notif.ilot.io/archive]]"
msgstr ""
#. type: Content of: <ul><li>
msgid "[[Support|https://support.ilot.io/en/hc/706927618]]"
msgstr ""
#. type: Content of: <ul><li> #. type: Content of: <ul><li>
msgid "[[Join]]" msgid "[[Join]]"
msgstr "" msgstr ""
#. type: Content of: <ul><li>
msgid "[[Your Files|https://ilot.io/apps/files]]"
msgstr ""

View file

@ -1,16 +1,11 @@
<!DOCTYPE html> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" class="h-100">
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<TMPL_IF NAME="META"><TMPL_VAR META></TMPL_IF> <TMPL_IF NAME="META"><TMPL_VAR META></TMPL_IF>
<TMPL_IF DYNAMIC>
<TMPL_IF FORCEBASEURL><base href="<TMPL_VAR FORCEBASEURL>" /><TMPL_ELSE>
<TMPL_IF BASEURL><base href="<TMPL_VAR BASEURL>" /></TMPL_IF>
</TMPL_IF>
</TMPL_IF>
<title><TMPL_VAR TITLE> - <TMPL_VAR WIKINAME></title> <title><TMPL_VAR TITLE> - <TMPL_VAR WIKINAME></title>
@ -26,76 +21,42 @@
<meta name="theme-color" content="#ffffff"> <meta name="theme-color" content="#ffffff">
<!-- ikiwiki CSS --> <!-- ikiwiki CSS -->
<link href="<TMPL_VAR BASEURL>style.css" rel="stylesheet" /> <link href="<TMPL_VAR BASEURL>css/style.css" rel="stylesheet" />
<!-- Bootstrap core CSS --> <!-- Bootstrap core CSS -->
<!-- those checksums can be verified with: shasum -b -a 384 $file | xxd -r -p | base64 --> <!-- those checksums can be verified with: shasum -b -a 384 $file | xxd -r -p | base64 -->
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous" /> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
<!-- Custom styles for this template --> <!-- Custom styles for this template -->
<link href="<TMPL_VAR BASEURL>bootstrap.local.css" rel="stylesheet" /> <link href="<TMPL_VAR BASEURL>css/bootstrap.local.css" rel="stylesheet" />
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<!-- Custom styles for derivatives --> <!-- Custom styles for derivatives -->
<TMPL_IF LOCAL_CSS> <TMPL_IF LOCAL_CSS>
<link rel="stylesheet" href="<TMPL_VAR BASEURL><TMPL_VAR LOCAL_CSS>" type="text/css" /> <link rel="stylesheet" href="<TMPL_VAR BASEURL><TMPL_VAR LOCAL_CSS>" type="text/css" />
<TMPL_ELSE> <TMPL_ELSE>
<link rel="stylesheet" href="<TMPL_VAR BASEURL>local.css" type="text/css" /> <link rel="stylesheet" href="<TMPL_VAR BASEURL>css/local.css" type="text/css" />
</TMPL_IF> </TMPL_IF>
<TMPL_UNLESS DYNAMIC>
<TMPL_IF EDITURL>
<link rel="alternate" type="application/x-wiki" title="Edit this page" href="<TMPL_VAR EDITURL>" />
</TMPL_IF>
<TMPL_IF FEEDLINKS><TMPL_VAR FEEDLINKS></TMPL_IF>
<TMPL_IF RELVCS><TMPL_VAR RELVCS></TMPL_IF>
<TMPL_IF META><TMPL_VAR META></TMPL_IF>
<TMPL_LOOP TRAILLOOP>
<TMPL_IF PREVPAGE>
<link rel="prev" href="<TMPL_VAR PREVURL>" title="<TMPL_VAR PREVTITLE>" />
</TMPL_IF>
<link rel="up" href="<TMPL_VAR TRAILURL>" title="<TMPL_VAR TRAILTITLE>" />
<TMPL_IF NEXTPAGE>
<link rel="next" href="<TMPL_VAR NEXTURL>" title="<TMPL_VAR NEXTTITLE>" />
</TMPL_IF>
</TMPL_LOOP>
</TMPL_UNLESS>
</head> </head>
<body> <body class="d-flex flex-column h-100">
<header>
<nav class="navbar navbar-default navbar-fixed-top"> <nav class="navbar fixed-top navbar-expand-md navbar-light bg-light border">
<div class="container"> <div class="container-fluid">
<div class="navbar-header"> <a class="navbar-brand me-auto" href="<TMPL_VAR BASEURL>">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="<TMPL_VAR BASEURL>">
<img alt="<TMPL_VAR WIKINAME>" src="<TMPL_VAR BASEURL>favicon.png" width="48" height="48" /> <img alt="<TMPL_VAR WIKINAME>" src="<TMPL_VAR BASEURL>favicon.png" width="48" height="48" />
</a> </a>
</div>
<div id="navbar" class="collapse navbar-collapse">
<TMPL_IF OTHERLANGUAGES> <TMPL_IF OTHERLANGUAGES>
<div class="dropdown language-switcher-top navbar-left"> <div class="dropdown ps-2 pe-2">
<button class="btn language-switcher dropdown-toggle" type="button" id="language-menu-top" data-toggle= <button class="btn language-switcher dropdown" type="button" id="language-menu-top" data-bs-toggle="dropdown" aria-expanded="false">
"dropdown" aria-haspopup="true" aria-expanded="true"> <div class="collapse navbar-collapse float-end ms-1" id="navbar">
<TMPL_VAR LANG_NAME> <TMPL_VAR LANG_NAME>
<img src="<TMPL_VAR BASEURL>wikiicons/languages.png"> </div>
<img src="<TMPL_VAR BASEURL>images/languages.png">
</button> </button>
<ul class="dropdown-menu" aria-labelledby="language-menu-top"> <ul class="dropdown-menu dropdown-menu-end dropdown-menu-lg-start" aria-labelledby="language-menu-top">
<TMPL_LOOP OTHERLANGUAGES> <TMPL_LOOP OTHERLANGUAGES>
<li> <li><a href="<TMPL_VAR URL>"><TMPL_VAR LANGUAGE></a></li>
<a href="<TMPL_VAR URL>"><TMPL_VAR LANGUAGE></a>
</li>
</TMPL_LOOP> </TMPL_LOOP>
<TMPL_IF HAVE_ACTIONS> <TMPL_IF HAVE_ACTIONS>
<li class="improve-translations"> <li class="improve-translations">
@ -106,139 +67,48 @@
</div> </div>
</TMPL_IF> </TMPL_IF>
<TMPL_IF SIDEBAR> <button class="navbar-toggler collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbarScroll" aria-expanded="false" aria-label="Toggle navigation">
<TMPL_VAR SIDEBAR> <span class="navbar-toggler-icon"></span>
</TMPL_IF> </button>
<div id="navbar" class="collapse navbar-collapse">
<TMPL_IF SIDEBAR><TMPL_VAR SIDEBAR></TMPL_IF>
<ul class="nav navbar-nav"> <ul class="nav navbar-nav">
<TMPL_LOOP BOOTMENU> <TMPL_LOOP BOOTMENU>
<TMPL_IF FIRSTNAV> <TMPL_IF FIRSTNAV>
<li <TMPL_IF ACTIVE>class="active"</TMPL_IF>><a href="<TMPL_VAR URL>"><TMPL_VAR PAGE></a></li> <li <TMPL_IF ACTIVE>class="active"</TMPL_IF>><a href="<TMPL_VAR URL>"><TMPL_VAR PAGE></a></li>
</TMPL_IF> </TMPL_IF>
</TMPL_LOOP> </TMPL_LOOP>
</ul> </ul>
</div> </div>
</div> </div>
</nav> </nav>
</header>
<main class="flex-shrink-0">
<div class="container" id="content"> <div class="container" id="content">
<TMPL_VAR CONTENT> <TMPL_VAR CONTENT>
<TMPL_IF ENCLOSURE> <TMPL_IF ENCLOSURE>
<TMPL_IF HTML5><section id="enclosure"><TMPL_ELSE><div id="enclosure"></TMPL_IF> <section id="enclosure">
<a href="<TMPL_VAR ENCLOSURE>">Download</a> <a href="<TMPL_VAR ENCLOSURE>">Download</a>
<TMPL_IF HTML5></section><TMPL_ELSE></div></TMPL_IF> </section>
</TMPL_IF> </TMPL_IF>
<TMPL_IF TRAILS> <TMPL_IF TRAILS><TMPL_VAR TRAILS></TMPL_IF>
<TMPL_VAR TRAILS>
</TMPL_IF>
<TMPL_UNLESS DYNAMIC>
<!-- legacy Ikiwiki comments.pm section -->
<TMPL_IF COMMENTS>
<TMPL_IF HTML5><section id="comments"><TMPL_ELSE><div id="comments"></TMPL_IF>
<TMPL_VAR COMMENTS>
<TMPL_IF ADDCOMMENTURL>
<div class="addcomment">
<a href="<TMPL_VAR ADDCOMMENTURL>">Add a comment</a>
</div>
<TMPL_ELSE>
<TMPL_UNLESS mastodon_host>
<div class="addcomment">Comments on this page are closed.</div>
</TMPL_UNLESS>
</TMPL_IF>
<TMPL_IF HTML5></section><TMPL_ELSE></div></TMPL_IF>
</TMPL_IF>
<!-- Mastodon comments -->
<TMPL_IF mastodon_host>
<div class="mastodon-comments comments">
<p>You can use your Mastodon account to reply to this <a class="link" href="https://<TMPL_VAR mastodon_host>/@<TMPL_VAR mastodon_username>/<TMPL_VAR mastodon_post>">post</a>.</p>
<p id="mastodon-comments-list"><button id="load-comment">Load comments</button></p>
<noscript><p>You need JavaScript to view the comments.</p></noscript>
<script src="<TMPL_VAR BASEURL>assets/js/purify.min.js"></script>
<script type="text/javascript">
function escapeHtml(unsafe) {
return unsafe
.replace(/&/g, "&amp;")
.replace(/</g, "&lt;")
.replace(/>/g, "&gt;")
.replace(/"/g, "&quot;")
.replace(/'/g, "&#039;");
}
document.getElementById("load-comment").addEventListener("click", function() {
document.getElementById("load-comment").innerHTML = "Loading...";
fetch('https://<TMPL_VAR mastodon_host>/api/v1/statuses/<TMPL_VAR mastodon_post>/context')
.then(function(response) {
return response.json();
})
.then(function(data) {
if(data['descendants'] &&
Array.isArray(data['descendants']) &&
data['descendants'].length > 0) {
document.getElementById('mastodon-comments-list').innerHTML = "";
data['descendants'].forEach(function(reply) {
reply.account.display_name = escapeHtml(reply.account.display_name);
reply.account.emojis.forEach(emoji => {
reply.account.display_name = reply.account.display_name.replace(`:${emoji.shortcode}:`,
`<img src="${escapeHtml(emoji.static_url)}" alt="Emoji ${emoji.shortcode}" height="20" width="20" />`);
});
mastodonComment =
`<div class="mastodon-comment comment">
<div class="avatar">
<img src="${escapeHtml(reply.account.avatar_static)}" height=60 width=60 alt="">
</div>
<div class="content">
<div class="author">
<a href="${reply.account.url}" rel="nofollow">
<span>${reply.account.display_name}</span>
<span class="disabled">${escapeHtml(reply.account.acct)}</span>
</a>
<a class="post" href="${reply.uri}" rel="nofollow">
<time datetime="${reply.created_at}" pubdate="pubdate">
${reply.created_at.replace(/(T\d+:\d+):\d+(\.\d+)?(.*)/, "$1$3")}
</time>
</a>
</div>
<div class="mastodon-comment-content">${reply.content}</div>
</div>
</div>`;
document.getElementById('mastodon-comments-list').appendChild(DOMPurify.sanitize(mastodonComment, {'RETURN_DOM_FRAGMENT': true}));
});
} else {
document.getElementById('mastodon-comments-list').innerHTML = "<p>Not comments found</p>";
}
});
});
</script>
</div>
</TMPL_IF>
</TMPL_UNLESS>
</div> <!-- /container --> </div> <!-- /container -->
</main>
<TMPL_IF HTML5><footer<TMPL_ELSE><div</TMPL_IF> class="footer" role="contentinfo"> <footer class="footer mt-auto py-2 bg-light" role="contentinfo">
<div class="container"> <div class="container">
<TMPL_IF FOOTER><TMPL_VAR FOOTER></TMPL_IF>
<TMPL_IF FOOTER>
<TMPL_VAR FOOTER>
</TMPL_IF>
</div> </div>
<TMPL_IF HTML5></footer><TMPL_ELSE></div></TMPL_IF> </footer>
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://code.jquery.com/jquery-3.2.1.min.js" crossorigin="anonymous" integrity="sha384-xBuQ/xzmlsLoJpyjoggmTEz8OWUFM0/RC5BsqQBDX2v5cMvDHcMakNTNrHIW2I5f"></script> <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.6/dist/umd/popper.min.js" integrity="sha384-oBqDVmMz9ATKxIep9tiCxS/Z9fNfEXiDAYTujMAeBAsjFuCZSmKbSSUnQlmh/jp3" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" crossorigin="anonymous" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4" crossorigin="anonymous"></script>
<!-- TODO: Find other ways to setup analytics <!-- TODO: Find other ways to setup analytics
<script data-goatcounter="https://analytics.anarc.at/count" async src="//analytics.anarc.at/count.js"></script> <script data-goatcounter="https://analytics.anarc.at/count" async src="//analytics.anarc.at/count.js"></script>

View file

@ -1,4 +1,4 @@
<form method="get" action="<TMPL_VAR SEARCHACTION>" class="navbar-form navbar-left" role="search"> <form method="get" action="<TMPL_VAR SEARCHACTION>" class="navbar-form navbar-left" role="search">
<input type="text" class="form-control" name="P" value="" size="16" <input type="text" class="form-control" name="P" value="" size="16"
<TMPL_IF HTML5>placeholder="search"</TMPL_IF> /> placeholder="search" />
</form> </form>

View file

@ -1,5 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
for i in node npm git; do for i in node npm git; do
if ! command -v $i &> /dev/null; then if ! command -v $i &> /dev/null; then
echo ">> $i could not be found, please install" echo ">> $i could not be found, please install"
@ -8,7 +10,7 @@ for i in node npm git; do
done done
# http-server not pulled, pulling # http-server not pulled, pulling
if [ ! -d "./http-server" ]; then if [ ! -d "$SCRIPT_DIR/http-server" ]; then
echo ">> This script will pull a lightweight nodejs http-server from https://github.com/http-party/http-server and make ./public avaiable as local http service, are you okay with this?" echo ">> This script will pull a lightweight nodejs http-server from https://github.com/http-party/http-server and make ./public avaiable as local http service, are you okay with this?"
read -p "Continue (y/n)?" choice read -p "Continue (y/n)?" choice
case "$choice" in case "$choice" in
@ -20,17 +22,19 @@ if [ ! -d "./http-server" ]; then
fi fi
# http-server depends not pulled, pulling # http-server depends not pulled, pulling
if [ ! -d "http-server/node_modules/" ]; then if [ ! -d "$SCRIPT_DIR/http-server/node_modules/" ]; then
echo ">> http-server dependencies not pulled, pulling" echo ">> http-server dependencies not pulled, pulling"
npm --prefix ./http-server i npm --prefix "$SCRIPT_DIR"/http-server i
fi fi
# website not built, building # website not built, building
if [ ! -d "./public" ]; then if [ ! -d "$SCRIPT_DIR/../public" ]; then
echo ">> website not build, building" echo ">> website not build, building"
pushd "$SCRIPT_DIR"/..
ikiwiki --setup ./ikiwiki.setup ikiwiki --setup ./ikiwiki.setup
popd
fi fi
# starting server # starting server
echo ">> starting http server" echo ">> starting http server"
node ./http-server/bin/http-server -c-1 ./public node "$SCRIPT_DIR"/http-server/bin/http-server -c-1 "$SCRIPT_DIR"/../public