Compare commits
35 commits
make-beaut
...
main
Author | SHA1 | Date | |
---|---|---|---|
|
76360bcc2f | ||
78a1b6627f | |||
aec1460de9 | |||
2f88882e0d | |||
1fb1da0413 | |||
f9e83086a3 | |||
7ef8410cfc | |||
dc41cff096 | |||
0d1b8a3a2c | |||
92075b8e11 | |||
f98d458420 | |||
8e9a8888cf | |||
987a666e4e | |||
c585e74465 | |||
7274fc6169 | |||
1061be1b31 | |||
553634877d | |||
49f7301928 | |||
c31b6c6dfb | |||
5ff4ff0eab | |||
6d6fd82e1b | |||
4ada397885 | |||
d0dc2ae971 | |||
b468943328 | |||
39dc6dfa62 | |||
e8602aa59d | |||
94a8b58355 | |||
a176112468 | |||
921075ee7e | |||
465dfa8e90 | |||
63e89e5969 | |||
9e9ce85503 | |||
d6577e535a | |||
5099dd8cbd | |||
f9017d5921 |
|
@ -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}')
|
||||
|
|
|
@ -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
|
|
@ -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]"
|
||||
|
|
|
@ -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
|
@ -1,3 +1,3 @@
|
|||
content/.ikiwiki
|
||||
.ikiwiki
|
||||
public/
|
||||
http-server/
|
||||
tools/http-server/
|
||||
|
|
1
.pages-domains
Normal file
|
@ -0,0 +1 @@
|
|||
www.ilot.io
|
0
.pages-redirect
Normal file
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 7.4 KiB |
6
basewiki/bootstrap.min.css
vendored
7
basewiki/bootstrap.min.js
vendored
Before Width: | Height: | Size: 371 B |
4
basewiki/jquery.min.js
vendored
|
@ -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"
|
|
@ -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]]
|
|
@ -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."
|
|
@ -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.
|
|
@ -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>
|
|
@ -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>
|
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
Before Width: | Height: | Size: 696 B After Width: | Height: | Size: 696 B |
Before Width: | Height: | Size: 921 B After Width: | Height: | Size: 921 B |
Before Width: | Height: | Size: 921 B After Width: | Height: | Size: 921 B |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 106 KiB |
BIN
footer.fr.mo
Normal 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
|
@ -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>
|
|
@ -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 ""
|
|
@ -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)
|
||||
|
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 8.3 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB |
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 103 KiB After Width: | Height: | Size: 103 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 293 B After Width: | Height: | Size: 293 B |
Before Width: | Height: | Size: 6 KiB After Width: | Height: | Size: 6 KiB |
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 95 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
|
@ -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 ""
|
|
@ -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
|
@ -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\")"
|
||||
|
|
@ -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>
|
|
@ -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 "
|
|
@ -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
|
@ -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>
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.5 KiB |
|
@ -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."
|
||||
|
|
@ -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"
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
BIN
sidebar.fr.mo
Normal 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
|
@ -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>
|
|
@ -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 ""
|
|
@ -1,250 +1,120 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<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>
|
||||
<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>
|
||||
|
||||
<title><TMPL_VAR TITLE> - <TMPL_VAR WIKINAME></title>
|
||||
<title><TMPL_VAR TITLE> - <TMPL_VAR WIKINAME></title>
|
||||
|
||||
<!-- cargo-culted from https://realfavicongenerator.net/ -->
|
||||
<!-- for the record: it is absolutely ridiculous that new browsers
|
||||
*and* operating systems each want their own little precious
|
||||
snowflake just for a frigging icon -->
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="<TMPL_VAR BASEURL>apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="<TMPL_VAR BASEURL>favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="<TMPL_VAR BASEURL>favicon-16x16.png">
|
||||
<link rel="manifest" href="<TMPL_VAR BASEURL>site.webmanifest">
|
||||
<meta name="msapplication-TileColor" content="#da532c">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<!-- cargo-culted from https://realfavicongenerator.net/ -->
|
||||
<!-- for the record: it is absolutely ridiculous that new browsers
|
||||
*and* operating systems each want their own little precious
|
||||
snowflake just for a frigging icon -->
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="<TMPL_VAR BASEURL>apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="<TMPL_VAR BASEURL>favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="<TMPL_VAR BASEURL>favicon-16x16.png">
|
||||
<link rel="manifest" href="<TMPL_VAR BASEURL>site.webmanifest">
|
||||
<meta name="msapplication-TileColor" content="#da532c">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
|
||||
<!-- ikiwiki CSS -->
|
||||
<link href="<TMPL_VAR BASEURL>style.css" rel="stylesheet" />
|
||||
<!-- ikiwiki CSS -->
|
||||
<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" />
|
||||
<!-- Bootstrap core CSS -->
|
||||
<!-- those checksums can be verified with: shasum -b -a 384 $file | xxd -r -p | base64 -->
|
||||
<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" />
|
||||
<!-- Custom styles for this template -->
|
||||
<link href="<TMPL_VAR BASEURL>css/bootstrap.local.css" rel="stylesheet" />
|
||||
|
||||
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
|
||||
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
<!-- Custom styles for derivatives -->
|
||||
<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>css/local.css" type="text/css" />
|
||||
</TMPL_IF>
|
||||
|
||||
<!-- 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" />
|
||||
</TMPL_IF>
|
||||
</head>
|
||||
<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>
|
||||
|
||||
<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>
|
||||
<TMPL_IF OTHERLANGUAGES>
|
||||
<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>
|
||||
</div>
|
||||
<img src="<TMPL_VAR BASEURL>images/languages.png">
|
||||
</button>
|
||||
<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>
|
||||
</TMPL_LOOP>
|
||||
<TMPL_IF HAVE_ACTIONS>
|
||||
<li class="improve-translations">
|
||||
<a href="<TMPL_VAR BASEURL>contribute/how/translate/" rel="nofollow">Improve translations</a>
|
||||
</li>
|
||||
</TMPL_IF>
|
||||
</ul>
|
||||
</div>
|
||||
</TMPL_IF>
|
||||
|
||||
<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>">
|
||||
<img alt="<TMPL_VAR WIKINAME>" src="<TMPL_VAR BASEURL>favicon.png" width="48" height="48" />
|
||||
</a>
|
||||
</div>
|
||||
<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">
|
||||
<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>
|
||||
|
||||
<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">
|
||||
<TMPL_VAR LANG_NAME>
|
||||
<img src="<TMPL_VAR BASEURL>wikiicons/languages.png">
|
||||
</button>
|
||||
<ul class="dropdown-menu" aria-labelledby="language-menu-top">
|
||||
<TMPL_LOOP OTHERLANGUAGES>
|
||||
<li>
|
||||
<a href="<TMPL_VAR URL>"><TMPL_VAR LANGUAGE></a>
|
||||
</li>
|
||||
</TMPL_LOOP>
|
||||
<TMPL_IF HAVE_ACTIONS>
|
||||
<li class="improve-translations">
|
||||
<a href="<TMPL_VAR BASEURL>contribute/how/translate/" rel="nofollow">Improve translations</a>
|
||||
</li>
|
||||
</TMPL_IF>
|
||||
</ul>
|
||||
</div>
|
||||
</TMPL_IF>
|
||||
<main class="flex-shrink-0">
|
||||
<div class="container" id="content">
|
||||
<TMPL_VAR CONTENT>
|
||||
<TMPL_IF ENCLOSURE>
|
||||
<section id="enclosure">
|
||||
<a href="<TMPL_VAR ENCLOSURE>">Download</a>
|
||||
</section>
|
||||
</TMPL_IF>
|
||||
|
||||
<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>
|
||||
<TMPL_IF TRAILS><TMPL_VAR TRAILS></TMPL_IF>
|
||||
</div> <!-- /container -->
|
||||
</main>
|
||||
|
||||
<footer class="footer mt-auto py-2 bg-light" role="contentinfo">
|
||||
<div class="container">
|
||||
<TMPL_IF FOOTER><TMPL_VAR FOOTER></TMPL_IF>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container" id="content">
|
||||
|
||||
<TMPL_VAR CONTENT>
|
||||
|
||||
<TMPL_IF ENCLOSURE>
|
||||
<TMPL_IF HTML5><section id="enclosure"><TMPL_ELSE><div id="enclosure"></TMPL_IF>
|
||||
<a href="<TMPL_VAR ENCLOSURE>">Download</a>
|
||||
<TMPL_IF HTML5></section><TMPL_ELSE></div></TMPL_IF>
|
||||
</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, "&")
|
||||
.replace(/</g, "<")
|
||||
.replace(/>/g, ">")
|
||||
.replace(/"/g, """)
|
||||
.replace(/'/g, "'");
|
||||
}
|
||||
|
||||
document.getElementById("load-comment").addEventListener("click", function() {
|
||||
document.getElementById("load-comment").innerHTML = "Loading...";
|
||||
fetch('https://<TMPL_VAR mastodon_host>/api/v1/statuses/<TMPL_VAR mastodon_post>/context')
|
||||
.then(function(response) {
|
||||
return response.json();
|
||||
})
|
||||
.then(function(data) {
|
||||
if(data['descendants'] &&
|
||||
Array.isArray(data['descendants']) &&
|
||||
data['descendants'].length > 0) {
|
||||
document.getElementById('mastodon-comments-list').innerHTML = "";
|
||||
data['descendants'].forEach(function(reply) {
|
||||
reply.account.display_name = escapeHtml(reply.account.display_name);
|
||||
reply.account.emojis.forEach(emoji => {
|
||||
reply.account.display_name = reply.account.display_name.replace(`:${emoji.shortcode}:`,
|
||||
`<img src="${escapeHtml(emoji.static_url)}" alt="Emoji ${emoji.shortcode}" height="20" width="20" />`);
|
||||
});
|
||||
mastodonComment =
|
||||
`<div class="mastodon-comment comment">
|
||||
<div class="avatar">
|
||||
<img src="${escapeHtml(reply.account.avatar_static)}" height=60 width=60 alt="">
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="author">
|
||||
<a href="${reply.account.url}" rel="nofollow">
|
||||
<span>${reply.account.display_name}</span>
|
||||
<span class="disabled">${escapeHtml(reply.account.acct)}</span>
|
||||
</a>
|
||||
<a class="post" href="${reply.uri}" rel="nofollow">
|
||||
<time datetime="${reply.created_at}" pubdate="pubdate">
|
||||
${reply.created_at.replace(/(T\d+:\d+):\d+(\.\d+)?(.*)/, "$1$3")}
|
||||
</time>
|
||||
</a>
|
||||
</div>
|
||||
<div class="mastodon-comment-content">${reply.content}</div>
|
||||
</div>
|
||||
</div>`;
|
||||
document.getElementById('mastodon-comments-list').appendChild(DOMPurify.sanitize(mastodonComment, {'RETURN_DOM_FRAGMENT': true}));
|
||||
});
|
||||
} else {
|
||||
document.getElementById('mastodon-comments-list').innerHTML = "<p>Not comments found</p>";
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</TMPL_IF>
|
||||
|
||||
</TMPL_UNLESS>
|
||||
</div> <!-- /container -->
|
||||
|
||||
<TMPL_IF HTML5><footer<TMPL_ELSE><div</TMPL_IF> class="footer" role="contentinfo">
|
||||
<div class="container">
|
||||
|
||||
<TMPL_IF FOOTER>
|
||||
<TMPL_VAR FOOTER>
|
||||
</TMPL_IF>
|
||||
|
||||
</div>
|
||||
<TMPL_IF HTML5></footer><TMPL_ELSE></div></TMPL_IF>
|
||||
|
||||
|
||||
<!-- 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>
|
||||
<!-- Bootstrap core JavaScript
|
||||
================================================== -->
|
||||
<!-- Placed at the end of the document so the pages load faster -->
|
||||
<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>
|
||||
<noscript>
|
||||
<img src="https://analytics.anarc.at/count?p=<TMPL_VAR PAGE>&t=<TMPL_VAR TITLE ESCAPE=URL>" alt="tracking pixel to count visitors when Javascript is disabled" />
|
||||
</noscript>
|
||||
<script data-goatcounter="https://analytics.anarc.at/count" async src="//analytics.anarc.at/count.js"></script>
|
||||
<noscript>
|
||||
<img src="https://analytics.anarc.at/count?p=<TMPL_VAR PAGE>&t=<TMPL_VAR TITLE ESCAPE=URL>" alt="tracking pixel to count visitors when Javascript is disabled" />
|
||||
</noscript>
|
||||
-->
|
||||
</body>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -1,29 +1,29 @@
|
|||
<TMPL_LOOP TRAILLOOP>
|
||||
<TMPL_IF __FIRST__>
|
||||
<nav class="navbar">
|
||||
<ul class="nav navbar-nav pager">
|
||||
</TMPL_IF>
|
||||
<TMPL_IF PREVPAGE>
|
||||
<li class="previous">
|
||||
<a href="<TMPL_VAR PREVURL>">
|
||||
<span class="glyphicon glyphicon-menu-left"></span>
|
||||
<TMPL_VAR PREVTITLE></a>
|
||||
</li>
|
||||
</TMPL_IF>
|
||||
<li class="up">
|
||||
<a href="<TMPL_VAR TRAILURL>">
|
||||
<span class="glyphicon glyphicon-menu-up"></span>
|
||||
<TMPL_VAR TRAILTITLE></a>
|
||||
</li>
|
||||
<TMPL_IF NEXTPAGE>
|
||||
<li class="next">
|
||||
<a href="<TMPL_VAR NEXTURL>"><TMPL_VAR NEXTTITLE>
|
||||
<span class="glyphicon glyphicon-menu-right"></span>
|
||||
</a>
|
||||
</li>
|
||||
</TMPL_IF>
|
||||
<TMPL_IF __LAST__>
|
||||
</ul>
|
||||
</nav>
|
||||
</TMPL_IF>
|
||||
<TMPL_IF __FIRST__>
|
||||
<nav class="navbar">
|
||||
<ul class="nav navbar-nav pager">
|
||||
</TMPL_IF>
|
||||
<TMPL_IF PREVPAGE>
|
||||
<li class="previous">
|
||||
<a href="<TMPL_VAR PREVURL>">
|
||||
<span class="glyphicon glyphicon-menu-left"></span>
|
||||
<TMPL_VAR PREVTITLE></a>
|
||||
</li>
|
||||
</TMPL_IF>
|
||||
<li class="up">
|
||||
<a href="<TMPL_VAR TRAILURL>">
|
||||
<span class="glyphicon glyphicon-menu-up"></span>
|
||||
<TMPL_VAR TRAILTITLE></a>
|
||||
</li>
|
||||
<TMPL_IF NEXTPAGE>
|
||||
<li class="next">
|
||||
<a href="<TMPL_VAR NEXTURL>"><TMPL_VAR NEXTTITLE>
|
||||
<span class="glyphicon glyphicon-menu-right"></span>
|
||||
</a>
|
||||
</li>
|
||||
</TMPL_IF>
|
||||
<TMPL_IF __LAST__>
|
||||
</ul>
|
||||
</nav>
|
||||
</TMPL_IF>
|
||||
</TMPL_LOOP>
|
||||
|
|
|
@ -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
|