Compare commits

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

35 commits

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
90 changed files with 1314 additions and 1014 deletions

View file

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

View file

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

View file

@ -11,28 +11,27 @@ jobs:
steps:
- name: Environment setup
run: |
apk add git ikiwiki po4a perl-yaml-tiny tree nodejs
apk add git ikiwiki po4a perl-yaml-tiny tree nodejs imagemagick-perlmagick imagemagick imagemagick-jpeg findutils bash imagemagick-webp
- name: Repo pull
uses: https://github.com/actions/checkout@v4
uses: actions/checkout@v4
with:
fetch-depth: 1
token: ${{ secrets.PAGES_TOKEN }}
- name: Public repo pull
uses: https://github.com/actions/checkout@v4
- name: Pages repo pull
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: public
ref: pages
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/.
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]"

View file

@ -10,20 +10,18 @@ jobs:
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
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: https://github.com/actions/checkout@v4
uses: actions/checkout@v4
with:
fetch-depth: 1
token: ${{ secrets.PAGES_TOKEN }}
- name: Public repo pull
uses: https://github.com/actions/checkout@v4
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: public
ref: pages
path: public
token: ${{ secrets.PAGES_TOKEN }}
- name: Render website
run: |
rm -rf public/previews/$GITHUB_PR_NAME || true
@ -32,11 +30,11 @@ jobs:
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: |
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

4
.gitignore vendored
View file

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

1
.pages-domains Normal file
View file

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

0
.pages-redirect Normal file
View file

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,47 +0,0 @@
<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>[[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">
<input type="hidden" name="nonce" />
<input id="9c490" type="hidden" name="l" value="9c490957-b50b-4162-898d-92259e350cd6" />
<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="submit">Subscribe</button>
</form>
</div>
</div>
</div>
</p>

Binary file not shown.

Binary file not shown.

View file

@ -1,11 +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>[[Join]]</li>
<li>
<button class="btn sign-in" onclick="window.location.href='https://ilot.io/apps/files';">
Your Files
</button>
</li>
</ul>

View file

@ -1,54 +1,11 @@
/* Color palette */
:root {
/* Purple */
--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);
--bs-light-rgb: 248, 248, 248;
}
/* Sticky footer styles
-------------------------------------------------- */
html {
position: relative;
min-height: 100%;
}
body {
/* Margin bottom by footer height */
margin-bottom: 60px;
}
.footer {
position: absolute;
width: 100%;
padding-bottom: 15px;
background-color: #f5f5f5;
a {
--bs-link-color: #337ab7;
}
@ -56,22 +13,14 @@ body {
-------------------------------------------------- */
/* Not required for template or sticky footer method. */
body > .container {
main > .container {
padding: 60px 15px 15px;
}
.container .text-muted {
margin: 20px 0;
}
.pagedate {
font-size: 14px;
}
.footer > .container {
padding-right: 15px;
padding-left: 15px;
}
textarea {
width: 100%;
}
@ -91,33 +40,6 @@ code {
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 {
margin: inherit;
padding: inherit;
@ -125,30 +47,22 @@ code {
/* list-style-type: none; */
}
a {
text-decoration: none;
}
/* limit main content to ~90 chars per line */
/* update: practical typography recommends 2-3 alphabets */
#content {
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 */
.navbar-fixed-top .container {
.fixed-top .container-fluid {
max-width: 55em;
}
.navbar .selflink {
display: block;
padding: 15px 15px;
}
.navbar .in {
padding-top: 9px;
}
.navbar .collapsing {
padding-top: 9px;
}
/* some hacking at typefaces to get some fresh zest in here
* fallbacks from:
* https://en.wikipedia.org/wiki/List_of_typefaces_included_with_Microsoft_Windows
@ -215,12 +129,12 @@ blockquote {
/* enlarge body point size for charter for larger displays */
@media (min-device-width: 750px) {
body {
font-size: 20px;
font-size: 18px;
line-height: 1.3; /* default in FF is ~1.48, try seems a bit to sparse */
}
/* to match the other bootstrap workaround, below */
blockquote {
font-size: 20px;
font-size: 18px;
}
/* UI elements should be a little less intrusive */
.navbar, .footer {
@ -447,35 +361,20 @@ header h1::before {
/* Language switchers */
.language-switcher {
display: block;
font-size: 14px;
background: #f8f8f8;
color: #333;
border-color: #ccc;
margin-bottom: -4px;
margin-left: -3px;
margin-top: 9px;
}
.language-switcher:hover {
background: #e6e6e6;
color: #333;
border-color: #ccc;
}
/* Sign-in buttons */
.sign-in {
background: #f8f8f8;
color: #333;
border-color: #ccc;
margin-top: 9px;
margin-left: 12px;
}
.sign-in:hover {
background: #e6e6e6;
color: #333;
border-color: #ccc;
}
/* Footer */
@ -541,3 +440,57 @@ header h1::before {
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

View file

Before

Width:  |  Height:  |  Size: 921 B

After

Width:  |  Height:  |  Size: 921 B

View file

Before

Width:  |  Height:  |  Size: 921 B

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.

View file

@ -7,19 +7,19 @@
msgid ""
msgstr ""
"Project-Id-Version: ilot.io\n"
"POT-Creation-Date: 2024-09-08 12:45-0400\n"
"PO-Revision-Date: 2024-09-08 12:46-0400\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.4.3\n"
"X-Generator: Poedit 3.5\n"
#. type: Content of: <p><div><div><div><h5>
msgid "Support"
msgstr "Soutient"
msgstr "Soutien"
#. type: Content of: <p><div><div><div><ul><li>
msgid "[[FAQs|https://support.ilot.io/en/hc/706927618]]"
@ -31,7 +31,7 @@ msgstr "[[Problèmes connus|https://forge.ilot.io/ilot/-/projects/3]]"
#. type: Content of: <p><div><div><div><ul><li>
msgid "[[Support ticket|https://support.ilot.io/help/706927618]]"
msgstr "[[Soutient technique|https://support.ilot.io/help/706927618]]"
msgstr "[[Soutien technique|https://support.ilot.io/help/706927618]]"
#. type: Content of: <p><div><div><div><h5>
msgid "Contribute"
@ -41,6 +41,10 @@ msgstr "Contribuer"
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]]"
@ -73,10 +77,18 @@ msgstr "Nouvelles"
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=\"9c490\" type=\"hidden\" "
"name=\"l\" value=\"9c490957-b50b-4162-898d-92259e350cd6\" />"
"<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>
@ -89,11 +101,33 @@ msgstr ""
#. type: Content of: <p><div><div><div><form>
msgid ""
"<button aria-label=\"Subscribe\" class=\"btn\" type=\"submit\">Subscribe</"
"button>"
"<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=\"submit\">S'abonner</"
"button>"
"<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]]"

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>

View file

@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2024-09-08 12:45-0400\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"
@ -40,6 +40,10 @@ msgstr ""
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 ""
@ -72,10 +76,18 @@ msgstr ""
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=\"9c490\" type=\"hidden\" "
"name=\"l\" value=\"9c490957-b50b-4162-898d-92259e350cd6\" />"
"<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>
@ -86,6 +98,24 @@ msgstr ""
#. type: Content of: <p><div><div><div><form>
msgid ""
"<button aria-label=\"Subscribe\" class=\"btn\" "
"type=\"submit\">Subscribe</button>"
"<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
banned_users: []
# where the source of the wiki is located
srcdir: ./content
srcdir: ./
# where to build the wiki
destdir: ./public
# base url to the wiki
@ -46,6 +46,7 @@ add_plugins:
- typography
- sidebar2
- po
- inline
# plugins to disable
disable_plugins:
- htmlscrubber
@ -54,7 +55,6 @@ templatedir: ./templates
#templatedir: /usr/share/ikiwiki/templates
# base wiki source location
#underlaydir: /usr/share/ikiwiki/basewiki
underlaydir: ./basewiki
# display verbose messages?
verbose: 1
# log to syslog?
@ -92,7 +92,7 @@ hardlink: 0
# group for wrappers to run in
#wrappergroup: ikiwiki
# extra library and plugin directories
libdirs: [lib]
libdirs: [plugins]
# extra library and plugin directory (searched after libdirs)
libdir: ''
# environment variables
@ -102,7 +102,7 @@ timezone: :/etc/localtime
# regexp of normally excluded files to include
#include: ^\.htaccess$
# regexp of files that should be skipped
#exclude: ^(*\.private|Makefile)$
exclude: ^(tools/.*|public/.*|plugins/.*)$
# specifies the characters that are allowed in source filenames
wiki_file_chars: -[:alnum:]+/.:_
# 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

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

View file

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View file

Before

Width:  |  Height:  |  Size: 7.9 KiB

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

Binary file not shown.

View file

@ -6,14 +6,14 @@ msgid ""
msgstr ""
"Project-Id-Version: ilot.io\n"
"POT-Creation-Date: 2024-09-08 12:28-0400\n"
"PO-Revision-Date: 2024-09-08 12:33-0400\n"
"PO-Revision-Date: 2025-04-03 18:45-0400\n"
"Last-Translator: Philippe Batailler <philippe.batailler@free.fr>\n"
"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"
"X-Generator: Poedit 3.5\n"
#. type: Plain text
#, no-wrap
@ -46,8 +46,8 @@ msgid ""
"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 une instance de Nextcloud, une plateformes libre de travail et "
"[[ilot|https://ilot.io]] est une ile coopérative de l'internet. Nous "
"administrons une instance de Nextcloud, une plateforme libre de travail et "
"de stockage de donnée analogue à Google Drive. Notre objectif est de nous "
"constituer en coopérative afin de créer une infrastructure numérique par et "
"pour ses utilisateur-ice-s, en alternative à l'internet cloisonné et "
@ -66,8 +66,8 @@ msgstr ""
"Le projet est actuellement en version bêta, car il reste encore beaucoup de "
"travail à faire. Alors que l'infrastructure technique est mise en place et "
"stable, la gouvernance et les lignes directrices de la communauté sont "
"encore en cours d'élaboration. Si vous souhaitez rejoindre ilot, visitez "
"notre [[formulaire d'inscription|join]]."
"encore en cours d'élaboration. Si vous souhaitez vous joindre à notre "
"projet, compléter notre [[formulaire d'inscription|join]]."
#. type: Plain text
msgid ""

View file

@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2024-09-08 12:30-0400\n"
"POT-Creation-Date: 2024-09-11 14:44-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"

BIN
join.fr.mo Normal file

Binary file not shown.

View file

@ -7,19 +7,20 @@
msgid ""
msgstr ""
"Project-Id-Version: ilot.io\n"
"POT-Creation-Date: 2024-08-09 21:13-0400\n"
"PO-Revision-Date: 2024-08-09 21:14-0400\n"
"POT-Creation-Date: 2025-04-03 18:26-0400\n"
"PO-Revision-Date: 2025-04-03 18:47-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"
"X-Generator: Poedit 3.5\n"
#. type: Content of: outside any tag (error?)
msgid "[[!meta title=\"Join\"]]"
msgstr "[[!meta title=\"Se joindre\"]]"
msgid "[[!meta title=\"Join\"]] [[!inline pages=\"join/join-en\" raw=\"yes\"]]"
msgstr ""
"[[!meta title=\"Se joindre\"]] [[!inline pages=\"join/join-fr\" raw=\"yes\"]]"
#. type: Content of: <header><h1>
msgid "Registration Form"
@ -54,19 +55,15 @@ msgstr ""
msgid "Basic Info:"
msgstr "Informations de base:"
#. type: Content of: <hr><div><div><form><div><input><input>
#. type: Content of: <hr><div><div><form><div><input>
msgid ""
"<label for=\"name\">Name <i>(optional)</i></label> <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\">"
"name=\"name\" type=\"text\" maxlength=\"40\">"
msgstr ""
"<label for=\"name\">Nom <i>(optionnel)</i></label> <input id=\"name\" "
"name=\"name\" type=\"text\" maxlength=\"40\"> <label "
"for=\"emptyfield\">Veuillez ne pas écrire dans cette espace</label> <input "
"id=\"emptyfield\" name=\"emptyfield\" type=\"text\" maxlength=\"40\">"
"name=\"name\" 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 ""
"<label for=\"email\">Contact email address</label> <input id=\"email\" "
"name=\"email\" type=\"email\" required></p>"
@ -108,10 +105,34 @@ msgid ""
msgstr ""
#. 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:"
msgstr "Code de conduite:"
#. type: Content of: <hr><div><div><form><p>
#. type: Content of: <hr><div><div><form><p><p>
msgid ""
"New members must also agree to our [[Code of Conduct|meta/code-of-conduct]] "
"and must be over the age of consent."
@ -119,7 +140,7 @@ msgstr ""
"Les nouveaux membres doivent également accepter notre [[Code de conduite|"
"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 ""
"<input type=\"checkbox\" id=\"agree-to-terms\" name=\"agree-to-terms\" "
"value=\"agree-to-terms\" required> I am over 18, and have read, understood "
@ -134,7 +155,7 @@ msgstr ""
"résumé du code ; n'oubliez pas de consulter le code complet en cliquant sur "
"le lien.</p>"
#. type: Content of: <hr><div><div><form><p><p>
#. type: Content of: <hr><div><div><form><p><p><p>
msgid ""
"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-"
@ -151,7 +172,7 @@ msgstr ""
"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."
#. type: Content of: <hr><div><div><form><p><p>
#. type: Content of: <hr><div><div><form><p><p><p>
msgid ""
"We welcome anyone able to use our services and willing to accept the "
"responsibilities of membership, regardless of qualities such as gender "
@ -168,7 +189,7 @@ msgstr ""
"économique, la structure familiale, la spiritualité, la religion (ou "
"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 ""
"We particularly celebrate diversity and do not tolerate bigotry, prejudice "
"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 "
"à 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?"
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 ""
"<label for=\"math-spam-trap\">What is two plus seven?</label> <input "
"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 = "
"\"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\")"
#~ msgstr "alert(\"Le courriel ne peut pas être vide\")"

View file

@ -1,6 +1,6 @@
[[!meta title="Join"]]
<script src=/join.js></script>
[[!inline pages="join/join-en" raw="yes"]]
<header class="text-center">
<h1 class="post-title">Registration Form</h1>
@ -20,8 +20,6 @@
<div class="formgroup">
<label for="name">Name <i>(optional)</i></label>
<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>
<input id="email" name="email" type="email" required></p>
@ -33,13 +31,10 @@
<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>
<!-- Hide until we get an OpenCollective account going
<h2 id="open-collective">Open Collective:</h2>
<p>Contributing through [[Open Collective|https://opencollective.com/ilotio]] is a condition
of membership, so applicants must have an existing Open Collective profile, which can be set up [[here|https://opencollective.com/create-account]].</p>
<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>
<p><label for="oc-user">Link to your OpenCollective profile</label>
<input id="oc-user" name="oc-user" type="text" required maxlength="50"></p>
-->
<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>

View file

@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2024-09-08 10:20-0400\n"
"POT-Creation-Date: 2025-04-03 18:27-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"
@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#. type: Content of: outside any tag (error?)
msgid "[[!meta title=\"Join\"]]"
msgid "[[!meta title=\"Join\"]] [[!inline pages=\"join/join-en\" raw=\"yes\"]]"
msgstr ""
#. type: Content of: <header><h1>
@ -44,15 +44,13 @@ msgstr ""
msgid "Basic Info:"
msgstr ""
#. type: Content of: <hr><div><div><form><div><input><input>
#. type: Content of: <hr><div><div><form><div><input>
msgid ""
"<label for=\"name\">Name <i>(optional)</i></label> <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\">"
"name=\"name\" type=\"text\" maxlength=\"40\">"
msgstr ""
#. type: Content of: <hr><div><div><form><div><input><input><p>
#. type: Content of: <hr><div><div><form><div><input><p>
msgid ""
"<label for=\"email\">Contact email address</label> <input id=\"email\" "
"name=\"email\" type=\"email\" required></p>"
@ -85,16 +83,34 @@ msgid ""
msgstr ""
#. type: Content of: <hr><div><div><form><h2>
msgid "Code of Conduct:"
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 ""
#. 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]] "
"and must be over the age of consent."
msgstr ""
#. type: Content of: <hr><div><div><form><p>
#. type: Content of: <hr><div><div><form><p><p>
msgid ""
"<input type=\"checkbox\" id=\"agree-to-terms\" name=\"agree-to-terms\" "
"value=\"agree-to-terms\" required> I am over 18, and have read, understood "
@ -103,7 +119,7 @@ msgid ""
"sure to review the full Code via the link.</p>"
msgstr ""
#. type: Content of: <hr><div><div><form><p><p>
#. type: Content of: <hr><div><div><form><p><p><p>
msgid ""
"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 "
@ -113,7 +129,7 @@ msgid ""
"follow the rest of the ICA co-op principles."
msgstr ""
#. type: Content of: <hr><div><div><form><p><p>
#. type: Content of: <hr><div><div><form><p><p><p>
msgid ""
"We welcome anyone able to use our services and willing to accept the "
"responsibilities of membership, regardless of qualities such as gender "
@ -123,7 +139,7 @@ msgid ""
"(or lack thereof), education, or other personal traits."
msgstr ""
#. type: Content of: <hr><div><div><form><p><p>
#. type: Content of: <hr><div><div><form><p><p><p>
msgid ""
"We particularly celebrate diversity and do not tolerate bigotry, prejudice "
"or supremacy of any kind. Diverse opinions on politics, religion, and other "
@ -133,11 +149,11 @@ msgid ""
"Code of Conduct."
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?"
msgstr ""
#. type: Content of: <hr><div><div><form><p><p>
#. type: Content of: <hr><div><div><form><p><p><p>
msgid ""
"<label for=\"math-spam-trap\">What is two plus seven?</label> <input "
"id=\"math-spam-trap\" name=\"math-spam-trap\" type=\"text\" required "

View file

@ -1,10 +1,11 @@
<script>
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;
const response = await fetch(url, {
headers: {
'PRIVATE-TOKEN': 'glpat-RaoZSW_3XMhkGr19k6Wv',
'authorization': 'token b8d8617bb6049c0e47b7bba5cd0931799f54609c',
'Content-Type': 'application/json',
},
})
@ -20,34 +21,28 @@
}
async function createIssue() {
var baseurl = 'https://lab.ilot.io/api/v4/projects/99/issues?&labels=Request';
var emptyfield = document.getElementById("emptyfield").value;
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("Registration requires agreement of Code of Conduct");
alert("Registration requires agreement of Code of Conduct.");
return false;
}
if(!email) {
alert("Email cannot be empty");
return false;
}
if(emptyfield) {
alert("Empty field should be empty");
alert("Email cannot be empty.");
return false;
}
if(mathspamtrap != "9") {
alert("Wrong math answer");
alert("Wrong math answer.");
return false;
}
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;
}
@ -55,31 +50,28 @@
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");
// add back on oc is setup
// 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 description = name + "%0A%0A" + aboutme + "%0A%0A" + howfound;
var url = baseurl.concat("&title=", email, "&description=", description);
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: {
'PRIVATE-TOKEN': 'glpat-RaoZSW_3XMhkGr19k6Wv',
'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("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 => {
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

View file

@ -8,14 +8,14 @@ msgid ""
msgstr ""
"Project-Id-Version: ilot.io\n"
"POT-Creation-Date: 2024-09-08 12:48-0400\n"
"PO-Revision-Date: 2024-09-08 12:49-0400\n"
"PO-Revision-Date: 2025-04-03 18:49-0400\n"
"Last-Translator: \n"
"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"
"X-Generator: Poedit 3.5\n"
#. type: Plain text
#, no-wrap
@ -56,7 +56,7 @@ msgid ""
"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 "
"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."

View file

@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2024-09-08 12:49-0400\n"
"POT-Creation-Date: 2024-09-11 14:44-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"

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 ""
msgstr ""
"Project-Id-Version: ilot.io\n"
"POT-Creation-Date: 2024-09-08 12:28-0400\n"
"PO-Revision-Date: 2024-09-08 12:32-0400\n"
"POT-Creation-Date: 2024-10-08 14:50-0400\n"
"PO-Revision-Date: 2024-10-08 15:08-0400\n"
"Last-Translator: \n"
"Language-Team: dev@ayakael.net\n"
"Language: fr\n"
@ -30,15 +30,11 @@ msgid "[[Join]]"
msgstr "[[Se joindre|join]]"
#. type: Content of: <ul><li>
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 "[[Your Files|https://ilot.io/apps/files]]"
msgstr "[[Vos fichiers|https://ilot.io/apps/files]]"
#~ msgid "[[Archives|https://notif.ilot.io/archive]]"
#~ msgstr "[[Archives|https://notif.ilot.io/archive]]"
#~ 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 ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2024-09-08 12:30-0400\n"
"POT-Creation-Date: 2024-10-08 15:06-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"
@ -29,8 +29,5 @@ msgid "[[Join]]"
msgstr ""
#. type: Content of: <ul><li>
msgid ""
"<button class=\"btn sign-in\" "
"onclick=\"window.location.href='https://ilot.io/apps/files';\"> Your Files "
"</button>"
msgid "[[Your Files|https://ilot.io/apps/files]]"
msgstr ""

View file

@ -1,16 +1,11 @@
<!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>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<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 -->
<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>
@ -26,76 +21,42 @@
<meta name="theme-color" content="#ffffff">
<!-- ikiwiki CSS -->
<link href="<TMPL_VAR BASEURL>style.css" rel="stylesheet" />
<link href="<TMPL_VAR BASEURL>css/style.css" rel="stylesheet" />
<!-- Bootstrap core CSS -->
<!-- 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 -->
<link href="<TMPL_VAR BASEURL>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]-->
<link href="<TMPL_VAR BASEURL>css/bootstrap.local.css" rel="stylesheet" />
<!-- Custom styles for derivatives -->
<TMPL_IF LOCAL_CSS>
<link rel="stylesheet" href="<TMPL_VAR BASEURL><TMPL_VAR LOCAL_CSS>" type="text/css" />
<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_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>
<body>
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<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>">
<body class="d-flex flex-column h-100">
<header>
<nav class="navbar fixed-top navbar-expand-md navbar-light bg-light border">
<div class="container-fluid">
<a class="navbar-brand me-auto" href="<TMPL_VAR BASEURL>">
<img alt="<TMPL_VAR WIKINAME>" src="<TMPL_VAR BASEURL>favicon.png" width="48" height="48" />
</a>
</div>
<div id="navbar" class="collapse navbar-collapse">
<TMPL_IF OTHERLANGUAGES>
<div class="dropdown navbar-left">
<button class="btn language-switcher dropdown-toggle" type="button" id="language-menu-top" data-toggle=
"dropdown" aria-haspopup="true" aria-expanded="true">
<div class="dropdown ps-2 pe-2">
<button class="btn language-switcher dropdown" type="button" id="language-menu-top" data-bs-toggle="dropdown" aria-expanded="false">
<div class="collapse navbar-collapse float-end ms-1" id="navbar">
<TMPL_VAR LANG_NAME>
<img src="<TMPL_VAR BASEURL>wikiicons/languages.png">
</div>
<img src="<TMPL_VAR BASEURL>images/languages.png">
</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>
<li>
<a href="<TMPL_VAR URL>"><TMPL_VAR LANGUAGE></a>
</li>
<li><a href="<TMPL_VAR URL>"><TMPL_VAR LANGUAGE></a></li>
</TMPL_LOOP>
<TMPL_IF HAVE_ACTIONS>
<li class="improve-translations">
@ -106,139 +67,48 @@
</div>
</TMPL_IF>
<TMPL_IF SIDEBAR>
<TMPL_VAR SIDEBAR>
</TMPL_IF>
<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">
<span class="navbar-toggler-icon"></span>
</button>
<div id="navbar" class="collapse navbar-collapse">
<TMPL_IF SIDEBAR><TMPL_VAR SIDEBAR></TMPL_IF>
<ul class="nav navbar-nav">
<TMPL_LOOP BOOTMENU>
<TMPL_IF FIRSTNAV>
<li <TMPL_IF ACTIVE>class="active"</TMPL_IF>><a href="<TMPL_VAR URL>"><TMPL_VAR PAGE></a></li>
</TMPL_IF>
</TMPL_LOOP>
</ul>
</div>
</div>
</nav>
</header>
<main class="flex-shrink-0">
<div class="container" id="content">
<TMPL_VAR CONTENT>
<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>
<TMPL_IF HTML5></section><TMPL_ELSE></div></TMPL_IF>
</section>
</TMPL_IF>
<TMPL_IF TRAILS>
<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>
<TMPL_IF TRAILS><TMPL_VAR TRAILS></TMPL_IF>
</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">
<TMPL_IF FOOTER>
<TMPL_VAR FOOTER>
</TMPL_IF>
<TMPL_IF FOOTER><TMPL_VAR FOOTER></TMPL_IF>
</div>
<TMPL_IF HTML5></footer><TMPL_ELSE></div></TMPL_IF>
</footer>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- 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://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" crossorigin="anonymous" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"></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://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
<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">
<input type="text" class="form-control" name="P" value="" size="16"
<TMPL_IF HTML5>placeholder="search"</TMPL_IF> />
placeholder="search" />
</form>

View file

@ -1,5 +1,7 @@
#!/usr/bin/env bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
for i in node npm git; do
if ! command -v $i &> /dev/null; then
echo ">> $i could not be found, please install"
@ -8,7 +10,7 @@ for i in node npm git; do
done
# 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?"
read -p "Continue (y/n)?" choice
case "$choice" in
@ -20,17 +22,19 @@ if [ ! -d "./http-server" ]; then
fi
# 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"
npm --prefix ./http-server i
npm --prefix "$SCRIPT_DIR"/http-server i
fi
# website not built, building
if [ ! -d "./public" ]; then
if [ ! -d "$SCRIPT_DIR/../public" ]; then
echo ">> website not build, building"
pushd "$SCRIPT_DIR"/..
ikiwiki --setup ./ikiwiki.setup
popd
fi
# starting 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