diff --git a/_data/i18n/en.yml b/_data/i18n/en.yml
index 56ff275..d7fd7ad 100644
--- a/_data/i18n/en.yml
+++ b/_data/i18n/en.yml
@@ -29,3 +29,5 @@ global_pages:
text: Short pages
- url: /Special:ListUsers
text: All the users
+ - url: /Special:ListRedirects
+ text: Redirects
diff --git a/_data/i18n/fr.yml b/_data/i18n/fr.yml
index 4437bab..fcc6c78 100644
--- a/_data/i18n/fr.yml
+++ b/_data/i18n/fr.yml
@@ -29,3 +29,5 @@ global_pages:
text: Pages courtes
- url: /Special:ListUsers
text: Tous les utilisateurs
+ - url: /Special:ListRedirects
+ text: Redirections
diff --git a/_global/Special:ListRedirects.html b/_global/Special:ListRedirects.html
new file mode 100644
index 0000000..64c1e11
--- /dev/null
+++ b/_global/Special:ListRedirects.html
@@ -0,0 +1,21 @@
+---
+layout: default
+title: Redirects
+menu: ['global']
+---
+{%- include /functions/wiki-pages.html -%}
+{%- assign redirect_pages = site.special | where_exp: 'page', 'page.redirect' -%}
+
+
+{%- for source_page in redirect_pages -%}
+ -
+ {%- assign redirect = source_page.redirect | liquify | prepend: '/' -%}
+ {%- for other_page in wiki_pages -%}
+ {%- if other_page.id == redirect -%}
+ {%- assign redirect_page = other_page -%}
+ {%- endif -%}
+ {%- endfor -%}
+ {{ source_page.id }} → {{ redirect_page.title }}
+
+{%- endfor -%}
+
diff --git a/_includes/functions/redirect-page.html b/_includes/functions/redirect-page.html
index 0a50bd9..f812601 100644
--- a/_includes/functions/redirect-page.html
+++ b/_includes/functions/redirect-page.html
@@ -1,7 +1,14 @@
{%- include /functions/wiki-pages.html -%}
-{%- assign redirect = page.redirect | liquify -%}
+
+{%- if include.page -%}
+ {%- assign source_page = include.source_page -%}
+{%- else -%}
+ {%- assign source_page = page -%}
+{%- endif -%}
+
+{%- assign redirect = source_page.redirect | liquify -%}
{%- for other_page in wiki_pages -%}
- {%- if other_page.slug == redirect -%}
+ {%- if other_page.id == redirect -%}
{%- assign redirect_page = other_page -%}
{%- endif -%}
{%- endfor -%}
diff --git a/_includes/tags.html b/_includes/tags.html
index d28489b..dcf6e02 100644
--- a/_includes/tags.html
+++ b/_includes/tags.html
@@ -8,7 +8,7 @@
{{ tag }}
{%- for other_page in wiki_pages -%}
- {%- if other_page.tags contains tag and other_page.slug != page.slug -%}
+ {%- if other_page.tags contains tag and other_page.id != page.id -%}
- {{ other_page.title }}
{%- endif -%}
{%- endfor -%}
diff --git a/_layouts/tag.html b/_layouts/tag.html
index 2af6f8f..2065f6f 100644
--- a/_layouts/tag.html
+++ b/_layouts/tag.html
@@ -10,7 +10,7 @@ menu: ['global']
{% include /functions/wiki-pages.html %}
{% for tag in page.tags %}
{% for other_page in wiki_pages %}
- {% if other_page.tags contains tag and other_page.slug != page.slug %}
+ {% if other_page.tags contains tag and other_page.id != page.id %}
- {{ other_page.title }}
{% endif %}
{% endfor %}
diff --git a/_wiki/Main.md b/_wiki/Main.md
index 86b909b..b69ff84 100644
--- a/_wiki/Main.md
+++ b/_wiki/Main.md
@@ -118,7 +118,7 @@ The frontmatter may contain the following attributes:
## Redirect page
-A redirect page should be place in a _wiki_ collection.
+A redirect page should be place in the _special_ collection.
It should have a frontmatter with a **layout** and a **redirect**, and no content
```yaml
@@ -207,12 +207,9 @@ If the site is deployed on a Apache HTTP server, some old mediawiki URLs are rew
## Github pages
-The wiki may be deployed on Github pages with the following contraints:
+The wiki cannot be deloyed simply on Github pages because of unsupported filters and custom plugins.
-* Only HTML or Markdown, no Asciidoc
-* No generated toc
-
-If you want to have this features on Github pages, you should push the generated site.
+If you want to deploy it on Github pages, you should push the generated site.
Any CI tool can help.
## Gitlab pages / CI