1
0
Fork 0
forked from ilot/ilot-io

Compare commits

..

11 commits

30 changed files with 2178 additions and 234 deletions

View file

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

View file

@ -0,0 +1,42 @@
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
- name: Repo pull
uses: actions/checkout@v4
with:
fetch-depth: 1
token: ${{ secrets.PAGES_TOKEN }}
- name: Public repo pull
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: public
path: public
token: ${{ secrets.PAGES_TOKEN }}
- name: Render website
run: ikiwiki --setup ikiwiki.setup
- name: Website upload
run: |
rm -Rf public/.forgejo
mkdir -p public/.forgejo/workflows
cp .forgejo/workflows/deploy.yaml public/.forgejo/workflows/.
git log -1 --pretty=%B > commit.txt
cd public
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,49 @@
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
echo "GITHUB_PR_NAME=$(curl -Ls ${{ github.server_url }}/api/v1/repos/${{ github.repository }}/pulls/${{ github.ref_name }} | jq .title | tr ' ' '-' | tr -d ':' | tr -d '"' | tr '[:upper:]' '[:lower:]' | tr '/' '-')" >> $GITHUB_ENV
- name: Repo pull
uses: actions/checkout@v4
with:
fetch-depth: 1
token: ${{ secrets.PAGES_TOKEN }}
- name: Public repo pull
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: public
path: public
token: ${{ secrets.PAGES_TOKEN }}
- 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
- name: Website upload
run: |
rm -Rf public/.forgejo
mkdir -p public/.forgejo/workflows
cp .forgejo/workflows/deploy.yaml public/.forgejo/workflows/.
git log -1 --pretty=%B > commit.txt
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

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

View file

@ -1,20 +1,35 @@
# 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)
## Description
## Forgejo Actions
This repository contains the source code to the [ilot.io](https://ilot.io)
website.
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.
## GitLab CI
The `public` branch has its own workflow following steps defined in
[`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.
This project's static Pages are built by [GitLab CI][ci], following the steps
defined in [`.gitlab-ci.yml`](.gitlab-ci.yml):
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.
We are using a theme based on
[Bootstrap 3](https://lab.ilot.io/ilot/ikiwiki-bootstrap-ilot) using submodules.
The following secrets are expected to be set for operation:
* 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.
The following variables are expected to be set for operation:
* PAGES_TARGET: SSH target for HTTP server's git repo, following this format:
user@example.net:/path/to/http/repo
## Building locally
@ -25,9 +40,9 @@ To work locally with this project, you'll have to follow the steps below:
* [mac][]
* [linux][]
* [source][]
1. Clone the submodules: `git submodule init && git submodule update`
1. Generate the website: `ikiwiki --setup ikiwiki.setup`
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][].
@ -37,7 +52,7 @@ Read more at ikiwiki's [documentation][].
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`
3. Make your changes.
@ -60,11 +75,8 @@ Read more at ikiwiki's [documentation][].
8. Once the tests in the merge-request pass, and reviewers are happy, your changes
will be merged.
[ci]: https://about.gitlab.com/gitlab-ci/
[ikiwiki]: https://ikiwiki.info/
[source]: https://ikiwiki.info/install/
[linux]: https://ikiwiki.info/setup/
[mac]: https://ikiwiki.info/tips/ikiwiki_on_mac_os_x/
[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

Binary file not shown.

View file

@ -7,8 +7,8 @@
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"
"POT-Creation-Date: 2024-08-29 21:32-0400\n"
"PO-Revision-Date: 2024-08-29 21:33-0400\n"
"Last-Translator: \n"
"Language-Team: dev@ayakael.net\n"
"Language: fr\n"
@ -21,12 +21,8 @@ msgstr ""
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>"
"[[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/]]. [[Thème|https://gitlab.com/anarcat/"
"ikiwiki-bootstrap-anarcat]] par [[anarcat|https://anarc.at/"
"blog/2015-09-09-bootstrap]]. </span>"
"[[ikiwiki|http://ikiwiki.info/]]. </span>"

View file

@ -4,6 +4,5 @@
</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

@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2024-06-20 23:55-0400\n"
"POT-Creation-Date: 2024-08-29 21:32-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"
@ -20,7 +20,5 @@ msgstr ""
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>"
"Powered by [[ikiwiki|http://ikiwiki.info/]]. </span>"
msgstr ""

Binary file not shown.

View file

@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: ilot.io\n"
"POT-Creation-Date: 2024-06-21 13:14-0400\n"
"PO-Revision-Date: 2024-06-21 13:16-0400\n"
"POT-Creation-Date: 2024-08-09 21:13-0400\n"
"PO-Revision-Date: 2024-08-09 21:15-0400\n"
"Last-Translator: Philippe Batailler <philippe.batailler@free.fr>\n"
"Language-Team: dev@ayakael.net\n"
"Language: fr\n"
@ -38,23 +38,23 @@ msgstr ""
#. type: Plain text
msgid ""
"[[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."
"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."
msgstr ""
"[[ilot|https://ilot.io]] est une isle coopérative de l'internet. Nous "
"administrons différentes plateformes libre, comme Nextcloud et Mastodon, "
"toutes intégrées par un système d'authentification partagé. Notre objectif "
"est de nous constituer en coopérative afin de créer une infrastructure "
"numérique par et pour ses utilisateur-ice-s, en alternative à l'internet "
"cloisonné et privatisé d'aujourd'hui. Les membres financent nos opérations "
"et décident de la manière de définir nos politiques communautaires, de gérer "
"nos données et nos technologies partagées. Les membres fournissent également "
"la main-d'œuvre nécessaire au fonctionnement de l'ilot à tous les niveaux."
"administrons une instance de Nextcloud, une plateformes libre de travail et "
"de stockage de donnée analogue à Google Drive. Notre objectif est de nous "
"constituer en coopérative afin de créer une infrastructure numérique par et "
"pour ses utilisateur-ice-s, en alternative à l'internet cloisonné et "
"privatisé d'aujourd'hui. Les membres financent nos opérations et décident de "
"la manière de définir nos politiques communautaires, de gérer nos données et "
"nos technologies partagées. Les membres fournissent également la main-"
"d'œuvre nécessaire au fonctionnement de l'ilot à tous les niveaux."
#. type: Plain text
msgid ""

View file

@ -6,7 +6,7 @@
<hr>
</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]].

View file

@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2024-06-21 13:14-0400\n"
"POT-Creation-Date: 2024-08-09 21:13-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"
@ -35,13 +35,13 @@ msgstr ""
#, markdown-text
msgid ""
"[[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."
"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."
msgstr ""
#. type: Plain text

Binary file not shown.

View file

@ -7,8 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: ilot.io\n"
"POT-Creation-Date: 2024-06-20 23:55-0400\n"
"PO-Revision-Date: 2024-06-20 21:54-0400\n"
"POT-Creation-Date: 2024-08-09 21:13-0400\n"
"PO-Revision-Date: 2024-08-09 21:14-0400\n"
"Last-Translator: \n"
"Language-Team: dev@ayakael.net\n"
"Language: fr\n"
@ -76,16 +76,16 @@ msgstr ""
#. type: Content of: <hr><div><div><form><p>
msgid ""
"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."
"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."
msgstr ""
"En 500 caractères maximum (la longueur maximale d'un texte sur Mastodon), "
"pouvez-vous nous parler un peu de vous ? Par exemple, pourquoi vous "
"souhaitez rejoindre l'ilot, et quels sont vos espoirs ou vos aspirations "
"pour le site et/ou votre participation ? Nous aimerions nous faire une idée "
"de la manière dont nos membres souhaitent utiliser le site."
"En 500 caractères maximum, pouvez-vous nous parler un peu de vous ? Par "
"exemple, pourquoi vous souhaitez rejoindre l'ilot, et quels sont vos espoirs "
"ou vos aspirations pour le site et/ou votre participation ? Nous aimerions "
"nous faire une idée de la manière dont nos membres souhaitent utiliser le "
"site."
#. type: Content of: <hr><div><div><form><p>
msgid ""
@ -137,17 +137,17 @@ msgstr ""
#. type: Content of: <hr><div><div><form><p><p>
msgid ""
"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."
"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."
msgstr ""
"Le code de conduite est un document évolutif qui décrit les comportements "
"acceptables lorsque les membres utilisent Nextcloud, Mastodon, GitLab et "
"tous les autres espaces régis par la coopérative. Ilot adopte les \"valeurs "
"de la coopérative\" : l'auto-responsabilité, la démocratie, l'égalité, "
"l'équité et la solidarité. Nos membres croient aux valeurs éthiques que sont "
"acceptables lorsque les membres utilisent Nextcloud et tous les autres "
"espaces régis par la coopérative. Ilot adopte les \"valeurs de la "
"coopérative\" : l'auto-responsabilité, la démocratie, l'égalité, l'équité et "
"la solidarité. Nos membres croient aux valeurs éthiques que sont "
"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."

View file

@ -28,7 +28,7 @@
</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>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>
@ -44,7 +44,7 @@
<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><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 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 ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2024-06-20 23:55-0400\n"
"POT-Creation-Date: 2024-08-09 21:13-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"
@ -60,10 +60,10 @@ msgstr ""
#. type: Content of: <hr><div><div><form><p>
msgid ""
"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."
"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."
msgstr ""
#. type: Content of: <hr><div><div><form><p>
@ -106,11 +106,11 @@ msgstr ""
#. type: Content of: <hr><div><div><form><p><p>
msgid ""
"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."
"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."
msgstr ""
#. type: Content of: <hr><div><div><form><p><p>

View file

@ -43,37 +43,6 @@ msgstr ""
"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]]"

View file

@ -4,10 +4,6 @@
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.
# [[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.

View file

@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2024-06-20 23:55-0400\n"
"POT-Creation-Date: 2024-08-09 21:13-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"
@ -32,33 +32,10 @@ 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 ""
#. 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."
"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 ""
#. type: Title #

Binary file not shown.

View file

@ -7,8 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: ilot.io\n"
"POT-Creation-Date: 2024-07-05 15:17-0400\n"
"PO-Revision-Date: 2024-07-05 15:22-0400\n"
"POT-Creation-Date: 2024-08-25 23:26-0400\n"
"PO-Revision-Date: 2024-08-25 23:26-0400\n"
"Last-Translator: \n"
"Language-Team: dev@ayakael.net\n"
"Language: fr\n"
@ -39,8 +39,8 @@ msgstr "[[Se joindre|join]]"
#. type: Content of: <ul><li>
msgid ""
"<button class=\"btn sign-in\" onclick=\"window.location.href='https://auth."
"ilot.io';\"> Your Dashboard </button>"
"<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://auth."
"ilot.io';\"> Votre tableau de bord </button>"
"<button class=\"btn sign-in\" onclick=\"window.location.href='https://ilot."
"io/apps/files';\"> Vos fichiers </button>"

View file

@ -6,8 +6,8 @@
<li>[[Support|https://support.ilot.io/en/hc/706927618]]</li>
<li>[[Join]]</li>
<li>
<button class="btn sign-in" onclick="window.location.href='https://auth.ilot.io';">
Your Dashboard
<button class="btn sign-in" onclick="window.location.href='https://ilot.io/apps/files';">
Your Files
</button>
</li>
</ul>

View file

@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2024-07-05 15:17-0400\n"
"POT-Creation-Date: 2024-08-25 23:26-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"
@ -39,6 +39,6 @@ msgstr ""
#. type: Content of: <ul><li>
msgid ""
"<button class=\"btn sign-in\" "
"onclick=\"window.location.href='https://auth.ilot.io';\"> Your Dashboard "
"onclick=\"window.location.href='https://ilot.io/apps/files';\"> Your Files "
"</button>"
msgstr ""

BIN
src/forum.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

326
src/index.html Normal file
View file

@ -0,0 +1,326 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="path/to/font-awesome/css/font-awesome.min.css">
<script src="https://kit.fontawesome.com/2e5e989a20.js" crossorigin="anonymous"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.10.2/css/all.css" rel="stylesheet">
<link rel="stylesheet" href="styles.css">
<script src="styles.css"></script>
<script src="https://code.jquery.com/jquery-3.7.1.js" integrity="sha256-eKhayi8LEQwp4NKxN+CfCh+3qOVUtJn3QNZ0TciWLP4=" crossorigin="anonymous"></script>
<script src="script.js"></script>
<title>ILOT</title>
</head>
<body>
<div class="opener">
<img src="img/ilot_intro.gif" alt="ilot logo" width="600" height="600">
<h1> ILOT </h1>
</div>
<div class="home" >
<div class="homeone">
<img src="img/ilot.black.png" alt="ilot logo" width="400" height="400">
<div class="login">
<a href="https://auth.ilot.io/if/flow/ilot-authentication-flow/?next=%2F"><h4>Platforms</h4> </a>
</div>
</div>
<div class="hometwo">
<h2><i><b>Welcome to</b></i></h2>
<h1>ILOT</h1>
<h5><i>a platform cooperative</i></h5>
<!---------------------- LINK TO REGISTRATION ------------->
<div class="join">
<h4>Embark</h4>
</div>
</div>
</div>
<div class="language">
<i class="fa-solid fa-globe"></i>
</div>
<div class="coop">
<div class="one">
<!--
<img src="img/ilot_white.svg" alt="ilot logo" width="100px" height="100px">
-->
<h5><i>the</i></h5>
<h1>COOP</h1>
</div>
<div class="two">
<p>
ilot is a cooperative corner of the internet. We operate
different free and open-source platforms, like
<span>Nextcloud</span> and <span>Mastodon</span>, 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.
</p>
<p>
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.
</p>
<p>
ilot was started in 2021 when AESA-CIRI, the sociology,
anthropology and immigration studies sudent
association of UQAM, wanted to create its own digital
infrastructure. Since then, we have worked toward the
goal of making the project useful to other
organisations and individuals.
</p>
</div>
</div>
<div class="services">
<div class="left">
<h5><i>the</i></h5>
<h1>SERVICES</h1>
</div>
<div class="right">
<div class="menu" id="cloud">
<h3>Cloud</h3>
<p>
The Cloud is an instance of <span>Nextcloud</span>, a productivity collaboration platform analogous to Google Drive. An instance is an autonomous version of a web service. In Nextclouds 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.
</p>
</div>
<!--
<div class="menu" id="agora">
<h3>Agora</h3>
<a href="https://agora.ilot.io/explore">
<button type="button">
<img src="img/right-arrow_w.png" alt="access" width="60px">
</button>
</a>
</div>
-->
<!--
<div class="menu" id="wiki">
<h3>Wiki</h3>
<a href="https://wiki.ilot.io/en/home">
<button type="button">
<img src="img/right-arrow_w.png" alt="access" width="60px">
</button>
</a>
</div>
-->
<!--
<div class="menu" id="lab">
<h3>Lab</h3>
<a href="https://auth.ilot.io/if/flow/ilot-authentication-flow/?next=%2Fapplication%2Fsaml%2Fgitlab%2Fsso%2Fbinding%2Fredirect%2F%3FSAMLRequest%3DfZJdS8MwGIX%252FSu9y1abpNiuhLZQNYTBF5seFN5Km77ZgmtS8qR%252F%252F3rRDnaDehuc8OZykQNHpnteDP5gtPA%252BAPqoRwXllzdIaHDpwN%252BBelIS77aYkB%252B975JRq0SRKW58oS4fAIxXBQUcdlULrRsgnEq2CTxkxyr6jI%252FiVFX2vlZyIY3ivfHBTREsbZVpl9tRBqxxIT0m0XpXkscnmuwYWeZwtztt4zmYyFrN0HqfQsJZBPoNdE1DEAdYGvTC%252BJFmaBSCPWXrLcp4ynp09kOg%252BFJ%252B6ZUlKordOG%252BRji5IMznArUCE3ogPkXvKb%252BnLDA8jF50Cnkf7%252FTO%252Bst9JqUhUjzad2rvplzoKeAsXxga6CcL26tmGr96jW2r4uHQgPJfFuABJdWNcJ%252F3cFlrDpRLXxbkI5dELpum0dIBJaHW%252F9%252BROqDw%253D%253D">
<button type="button">
<img src="img/right-arrow_w.png" alt="access" width="60px">
</button>
</a>
</div>
-->
<!--
<div class="menu" id="aux">
<h3>+</h3>
</div>
-->
</div>
</div>
<div class="cloud">
<div class="header">
<img src="img/database_w.png" alt="Cloud service" width="100">
<i class="fa-solid fa-xmark"></i>
</div>
<p>
The Cloud is an instance of <span>Nextcloud</span>, a productivity collaboration platform analogous to Google Drive. An instance is an autonomous version of a web service. In Nextclouds 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.
</p>
</div>
<div class="agora">
<div class="header">
<img src="img/forum_w.png" alt="Mastodon" width="100">
<i class="fa-solid fa-xmark"></i>
</div>
<p>
The Agora is an instance of <span>Mastodon</span>, a decentarilized microblogging social media network that exists within a larger federation in community called the <span>Fediverse</span>. Presenting itself as an alternative to Twitter, it represents a federated alternative to the siloed model of traditionnal social media networks. Its 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.
</p>
</div>
<div class="wiki">
<div class="header">
<img src="img/wikipedia_w.png" alt="Wiki" width="100">
<i class="fa-solid fa-xmark"></i>
</div>
<p>
The Wiki is an instance of <span>Wiki.JS</span>, 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. </p>
</div>
<div class="lab">
<div class="header">
<img src="img/chemistry-lab-instrument_w.png" alt="Lab" width="100">
<i class="fa-solid fa-xmark"></i>
</div>
<p>
The Lab is an instance of <span>GitLab</span>, 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 <a href="https://lab.ilot.io/ilot/issues/-/issues">here</a>. Our very own website uses GitLab Pages as its backend and its source-code can be found <a href="https://lab.ilot.io/ilot/ilot.io">here</a>. </p>
</div>
<div class="aux">
<div class="header">
<p><b>Our Auxiliary Services</b></p>
<i class="fa-solid fa-xmark"></i>
</div>
<p>
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, an instance of Authentik, 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, an instance of Freescout, 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 for more details on how to ask for help.
• Status, an instance of 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, an instance of listmonk, allows the working groups to easily communicate with the rest of the membership in case of announcements or technical issues.
</div>
<div class="support">
<div class="left">
<h5><i>for</i></h5>
<h1>SUPPORT</h1>
</div>
<div class="right">
<form>
<h4>
Submit a ticket
</h4>
<label for="name"><i>name</i></label><br>
<input type="text" id="supportname" name="name"><br>
<label for="email"><i>email</i></label><br>
<input type="text" id="supportemail" name="email">
<label for="supportsubject"><i>subject</i></label><br>
<input type="text" id="supportsubject" name="subject">
<label for="supportmessage"><i>message</i></label><br>
<textarea type="text" id="supportmessage" name="message">
</textarea>
<label for="robot"><i>two plus seven</i></label><br>
<input type="text" id="supportrobot" name="robot">
<div class="box">
<input type="checkbox" id="supportterms" name="terms" value="terms">
<label id="terms" for="terms"> I have read, understood and agree to the <a href="#">Code of Conduct</a></label><br>
</div>
<!------------include link to conditions --------->
<input type="submit" value="Submit">
</form>
</div>
</div>
<footer>
<h6>ILOT
</h6>
<button class="scroll up" >
<i class="fa-solid fa-circle-chevron-up" style="font-size: 4em;"></i>
</button>
<span>
Copyleft © 2024-2024 <br>
ilot CC-BY-SA
</span>
</footer>
</body>
</html>

BIN
src/right-arrow_w.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

29
src/script.js Normal file
View file

@ -0,0 +1,29 @@
$(document).ready(function(){
alert("Le code Jquery a bien été lu et chargé dans la page");
// ------------- ON LOADING ------------------//
// ------------- ON CLICKING ------------------//
$("#cloud").click(function(){
$("div.cloud").show();
});
$("button").click(function() {
$("html, body").animate({ scrollTop: 0 }, "slow");
return false;
});
$(".header.i").click(function(){
$("div.cloud").hide()
$("agora.cloud").hide()
$("lab.cloud").hide()
$("wiki.cloud").hide()
$("aux.cloud").hide();
});
});

1566
src/styles.css Normal file

File diff suppressed because it is too large Load diff