diff --git a/pages/00.home/docs.ar.md b/pages/00.home/docs.ar.md deleted file mode 100644 index ec257cab..00000000 --- a/pages/00.home/docs.ar.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: الدليل -template: docs -taxonomy: - category: docs -routes: - default: '/docs' -visible: false ---- - -دليل واي يونوهوست YunoHost يرتكز أساسًا على ثلاثة محاور : - -[[fa=fa-lock /] دليل المدير](/administrate?classes=btn,btn-lg,btn-primary) -يتطرق إلى طريقة التنصيب و إدارة السيرفر و التطبيقات - -[[fa=fa-heart /] دليل المساهم](/contribute?classes=btn,btn-lg,btn-error) -يحتوي على كافة المعلومات التي تخصنا و أسلوب عملنا و مساهمتنا - -* Project's life: - * [Frequently asked questions](/help/faq) - * [Project news](/news) - * [Project organization](/project_organization) - * [Project budget](/project_budget) - * [Forum](https://forum.yunohost.org) - * [Chat rooms](/chat_rooms) - * [Communication](/communication) - * [Support / Help](/help) - * [Sponsors and partners](/sponsors_partners) - -* استخدم مثال: - * [YunoHost للمنظمات غير الهادفة للربح](/use_case_non-profit_organisations) - * (FR) [YunoHost for CHATONS (A collective of independant, transparent, open, neutral and ethical hosters providing FLOSS-based online services.)](https://wiki.chatons.org/doku.php/yunohost) diff --git a/pages/00.home/docs.de.md b/pages/00.home/docs.de.md deleted file mode 100644 index 618e23c0..00000000 --- a/pages/00.home/docs.de.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: Documentation -template: docs -taxonomy: - category: docs -routes: - default: '/docs' -visible: false ---- - -Die YunoHost Dokumentation ist in 2 Bereiche aufgeteilt: - -[[fa=fa-lock /] Handbuch für Administratoren](/administrate?classes=btn,btn-lg,btn-primary) -Befasst sich mit den Installationsschritten und der Verwaltung von Server und Apps. - -[[fa=fa-heart /] Handbuch für Mitwirkende](/contribute?classes=btn,btn-lg,btn-error) -Alles, was du über uns und unsere Art zu arbeiten wissen musst. - -* Das Projektleben: - * [Häufig gestellte Fragen](/faq) - * [Projektorganisation](/project_organization) - * [Blog](https://forum.yunohost.org/c/announcement) - * [Forum](https://forum.yunohost.org) - * [Chaträume](/chat_rooms) - * [Kommunikation](/communication) - * [Support / Hilfe](/help) - -* Verwenden Sie ein Beispiel: - * [YunoHost für gemeinnützige Organisationen](/use_case_non-profit_organisations) diff --git a/pages/00.home/docs.fr.md b/pages/00.home/docs.fr.md index 69225b9b..99504d71 100644 --- a/pages/00.home/docs.fr.md +++ b/pages/00.home/docs.fr.md @@ -1,34 +1,30 @@ --- -title: Documentation +title: Bienvenue! template: docs taxonomy: category: docs routes: default: '/docs' + aliases: + - '/' visible: false --- -! This page is obsolete and should be reworked +Ce site contiens la documentation de [YunoHost, un système d'exploitation libre qui vise à simplifier l'administration d'un serveur et à démocratiser l'auto-hébergement](/whatsyunohost). -La documentation de YunoHost s’articule autour de deux sections : +En tant que futur jardinier de votre propre serveur, commencez par visiter le [guide de l'administrateur](/admindoc) pour en savoir plus sur l'autohébergement, comment installer votre serveur, et installer vos premières applications. -[[fa=fa-lock /] Guide de l’administrateur](/administrate?classes=btn,btn-lg,btn-primary) -Incluant l’installation, la gestion du serveur et des applications. +Vous pouvez explorer ici le [catalogue d'application](/apps) installable sur votre serveur (bien qu'il soit aussi consultable directement depuis votre interface d'administration !) -[[fa=fa-heart /] Guide du contributeur](/contribute?classes=btn,btn-lg,btn-error) -Qui contient tout ce que vous devez savoir à propos de nous et de notre manière de travailler. +La [communauté](/community) est là si vous avez besoin d'aide : venez discuter sur les [salons de discussions](/chat_rooms) ou posez vos questions sur le [forum](/community/forum) ! -* Vie du projet : - * [Foire aux questions](/faq) - * [Nouvelles du projet](/news) - * [Organisation du projet](/project_organization) - * [Budget previsionnel](/project_budget) - * [Forum](https://forum.yunohost.org) - * [Salons de discussions](/chat_rooms) - * [Communication extérieure](/communication) - * [Support / Aide](/help) - * [Mécénes et partenaires](/sponsors_partners_fr) +[center] -* Exemple d'utilisation : - * [YunoHost pour les organisations à but non lucratif](/use_case_non-profit_organisations) - * [YunoHost pour les CHATONS (Collectif des Hébergeurs Alternatifs, Transparents, Ouverts, Neutres et Solidaires)](https://wiki.chatons.org/doku.php/yunohost) + Guide d'administration + Applications + Communauté + Contribuer + +[/center] + +!!!! Pour naviguer dans cette documentation, vous pouvez utiliser les flèches gauches et droites. Utilisez le [fa=bars /] panneau latéral pour aller directement dans les sections qui vous intéresse ou en utilisant la [fa=search /] barre de recherche. Enjoy! diff --git a/pages/00.home/docs.it.md b/pages/00.home/docs.it.md deleted file mode 100644 index 3107bd99..00000000 --- a/pages/00.home/docs.it.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: Documentazione -template: docs -taxonomy: - category: docs -routes: - default: '/docs' -visible: false ---- - -La documentazione di YunoHost ha 2 differenti sezioni: - -[[fa=fa-lock /] Guida di amministrazione](/administrate?classes=btn,btn-lg,btn-primary) -Include l'installazione, la gestione del server e delle applicazioni. - -[[fa=fa-heart /] Guida del contributore](/contribute?classes=btn,btn-lg,btn-error) -Contiene tutto quello che devi sapere su di noi e su come lavoriamo. - -* Vita del progetto : - * [Frequently asked questions](/faq) - * [Project organization](/project_organization) - * [Blog](https://forum.yunohost.org/c/announcement) - * [Forum](https://forum.yunohost.org) - * [Chat rooms](/chat_rooms) - * [Communication](/communication) - * [Supporto / Aiuto](/help) - -* Usa l'esempio : - * [YunoHost per le organizzazioni senza scopo di lucro](/use_case_non-profit_organisations) diff --git a/pages/00.home/docs.md b/pages/00.home/docs.md index a2c6cd5a..62ee92cc 100644 --- a/pages/00.home/docs.md +++ b/pages/00.home/docs.md @@ -10,23 +10,21 @@ routes: visible: false --- -This is the documentation for YunoHost, a libre operating system whose aim is to democratize self-hosting and server administration. +This is the documentation for [YunoHost, a libre operating system aiming to simplify server administration and democratize self-hosting](/whatsyunohost). As a soon-to-be administrator of your own server, go to the [Admin guide](/admindoc) to learn more about self-hosting, how to install your YunoHost server and install your first apps. -Your server's administration interface offers an [Apps catalog](/apps). If you are eager to see which apps have been packaged for YunoHost, you can explore it here too! +You can check out the [application catalog](/apps) to browse apps that can be installed on a server (though you can also explore it directly from your admin interface !) -The [Community](/community) is here for you, if you need some help to [chat](/chat_rooms) with us or reach the [forum](/community/forum), or read more about our project organization. +The [Community](/community) is here for you if you need some help : come [chat](/chat_rooms) with us or reach out on the [forum](/community/forum) ! [center] -[[fa=fa-cogs /] Administrator's guide](/admindoc?classes=btn,btn-lg,btn-primary,inline) -[[fa=fa-cubes /] Applications](/apps?classes=btn,btn-lg,btn-success,inline) -[[fa=fa-users /] Community](/contribute?classes=btn,btn-lg,btn-primary) -[[fa=fa-heart /] Get involved](/contribute?classes=btn,btn-lg,btn-error) + + Administrator's guide + Applications + Community + Get involved + [/center] -If you are curious about what YunoHost can do, you can check out our use examples: -* [YunoHost for non-profit organisations](/use_case_non-profit_organisations) -* (FR) [YunoHost for CHATONS (A collective of independent, transparent, open, neutral and ethical hosters providing FLOSS-based online services.)](https://wiki.chatons.org/doku.php/yunohost) - -!!!! To navigate this documentation, you can use your left and right arrow keys. Browse directly to the section you want with the [fa=bars /] side panel, which also shows you the pages you have already read and offers a [[fa=search /] search box](/search/query:hosting). Enjoy! +!!!! To navigate this documentation, you can use your left and right arrow keys. Browse directly to the section you want with the [fa=bars /] side panel, or using the [fa=search /] search box. Enjoy! diff --git a/pages/01.administrate/07.specific_use_cases/02.isp/isp.md b/pages/01.administrate/07.specific_use_cases/02.isp/isp.md index 4e2ba76a..58dd9b52 100644 --- a/pages/01.administrate/07.specific_use_cases/02.isp/isp.md +++ b/pages/01.administrate/07.specific_use_cases/02.isp/isp.md @@ -13,7 +13,7 @@ Here is a non-comprehensive list of internet service providers by country, which A "no" may cause problems for using your server or may require you to make additional configuration changes. Status in brackets indicates the default behavior. -A list of French and Belgian ISPs is available on the [french page](/isp_fr). +(For the list of ISP in France/Belgian, check the french version of this page) ### USA | Service provider | Box (modem/router) | uPnP available | Port 25 openable | [Hairpinning](http://en.wikipedia.org/wiki/Hairpinning) | Customizable reverse DNS | Fix IP | diff --git a/pages/01.administrate/08.troubleshooting/02.admin_password/change_admin_password.fr.md b/pages/01.administrate/08.troubleshooting/02.admin_password/change_admin_password.fr.md index 52b0a6e3..6a3eef38 100644 --- a/pages/01.administrate/08.troubleshooting/02.admin_password/change_admin_password.fr.md +++ b/pages/01.administrate/08.troubleshooting/02.admin_password/change_admin_password.fr.md @@ -15,7 +15,7 @@ SSH (à partir de votre réseau local ! ou en utilisant un mode rescure si vous ## Sur l'interface d'administration web -1. Connectez-vous à [l’administration web](/admin). +1. Connectez-vous à l'interface web d'administration. 2. Allez dans la section Outis > Changer le mot de passe d’administration. diff --git a/pages/01.administrate/08.troubleshooting/02.admin_password/change_admin_password.md b/pages/01.administrate/08.troubleshooting/02.admin_password/change_admin_password.md index 7d3ab413..1abba53a 100644 --- a/pages/01.administrate/08.troubleshooting/02.admin_password/change_admin_password.md +++ b/pages/01.administrate/08.troubleshooting/02.admin_password/change_admin_password.md @@ -15,7 +15,7 @@ SSH (from your local network! or using a rescue mode if you're on a VPS...) ## Using the web administration interface -First, connect to your [web administration](/admin). +First, connect to your web administration. Then go to Tools > Change administration password. diff --git a/pages/01.administrate/admindoc.de.md b/pages/01.administrate/admindoc.de.md deleted file mode 100644 index 28c2fdfa..00000000 --- a/pages/01.administrate/admindoc.de.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: Administrator-Dokumentation -template: docs -taxonomy: - category: docs -routes: - default: '/admindoc' ---- - -* Self-Hosting entdecken - * [Was ist Self-Hosting](/selfhosting) - * [Was ist YunoHost](/whatsyunohost) - * [Probiere YunoHost aus](/try) - * [Wie du selber hostest](/howtohostyourself) - * [Wähle die Hardware](/hardware) - * [Über die Freundlichkeit von Internet-Service-Providern](/isp) -* [YunoHost installieren](/install) - * [Auf einem normalen Computer](/install_iso) - * [Auf einem eigenen oder virtuellen Server](/install_on_vps) - * [Auf einem Raspberry Pi](/install_on_raspberry) - * [Auf einem ARM-Board](/install_on_arm_board) - * [Auf Debian](/install_on_debian) - * [Auf VirtualBox](/install_on_virtualbox) -* Setup abschließen - * [Nach der Installation](/postinstall) - * [Port-Forwarding konfigurieren](/isp_box_config) - * [DNS-Einträge konfigurieren](/dns_config) - * [SSL-Zertifikate installieren](/certificate) - * [Diagnostiziere deine Installation](/diagnostic) -* YunoHost kennenlernen - * [Übersicht über YunoHost](/overview) - * [Allgemeine Hinweise und Hilfestellungen](/guidelines) - * [Web-Administrations-Interface](/admin) - * [SSH](/ssh) and [command-line administration](/commandline) - * [Benutzer und SSO (Single-Sign-On)](/users) - * [Applikationen](/apps_overview) - * [Domains, DNS und Zertifikate](/domains) - * [E-Mail](/email) - * [XMPP](/XMPP) - * [Datensicherung](/backup) - * [System-Update](/update) and [apps](/app_update) - * [Sicherheit](/security) -* Weiteres - * [Noho.st / nohost.me / ynh.fr Domain-Namen](/dns_nohost_me) - * [Grafischer Dateiaustausch mit deinem Server](/filezilla) - * [Passe das Aussehen vom Yunohost-Portal an](/theming) - * [Für externen Speicher hinzu](/external_storage) - * [Migriere E-Mails zu Yunohost](/email_migration) - * [Verstecke Services mit Tor](/torhiddenservice) -* Hinweise zur Fehlersuche - * [Entsperren von IPs in Fail2Ban](/fail2ban) - * [Administrator-Passwort ändern](/change_admin_password) diff --git a/pages/02.applications/02.docs/nextcloud/app_nextcloud.fr.md b/pages/02.applications/02.docs/nextcloud/app_nextcloud.fr.md index 2cbedcef..9dfe5f6a 100644 --- a/pages/02.applications/02.docs/nextcloud/app_nextcloud.fr.md +++ b/pages/02.applications/02.docs/nextcloud/app_nextcloud.fr.md @@ -165,12 +165,44 @@ Les options à désactiver (Off) sont : Sauvegarder et nettoyer vos caches (Cloudflare, navigateur...) et le tour est joué. -## Applications Tiers +## À propos de Keeweb - + [Calendrier](/app_nextcloud_calendar) - + [Contact](/app_nextcloud_contact) - + [KeeWeb](/app_nextcloud_keeweb) - + [Carnet](/app_nextcloud_carnet) +L'application Keeweb sur le catalogue de nextcloud - [apps.nextcloud.com/keeweb](https://apps.nextcloud.com/apps/keeweb) + +L'application KeeWeb est un gestionnaire de mots de passe incorporé à Nextcloud. Elle permet par exemple de lire un fichier de type KeePass (*.kdbx*) stocké sur votre instance Nextcloud. + +Mais il arrive parfois que Nextcloud ne laisse pas l'application prendre en charge ces fichiers, ce qui rend alors impossible leur lecture de KeeWeb. Pour remédier à cela, +[une solution](https://github.com/jhass/nextcloud-keeweb/blob/master/README.md#mimetype-detection) existe. + +Se rendre dans le répertoire de configuration de Nextcloud : + +```bash +cd /var/www/nextcloud/config/ +``` + +S'il n'existe pas, créer le fichier *mimetypemapping.json* dont le propriétaire est l'utilisateur *nextcloud* : + +```bash +sudo su nextcloud -c "nano mimetypemapping.json" +``` + +Puis ajouter dans ce fichier le texte suivent : + +```bash +{ + "kdbx": ["x-application/kdbx"] +} +``` + +Enregistrer le fichier (**CTRL** + **o**) et quitter nano (**CTRL** + **c**). + +Ensuite lancer un scan en tant que root : + +```bash +sudo -u nextcloud php /var/www/nextcloud/occ files:scan --all +``` + +À présent, le problème est corrigé. ## Quelques liens utiles diff --git a/pages/02.applications/02.docs/nextcloud/app_nextcloud.md b/pages/02.applications/02.docs/nextcloud/app_nextcloud.md index 42c930fb..ed92f8cb 100644 --- a/pages/02.applications/02.docs/nextcloud/app_nextcloud.md +++ b/pages/02.applications/02.docs/nextcloud/app_nextcloud.md @@ -165,12 +165,41 @@ The options to disable (Off) are: Save and clean your caches (Cloudflare, browser...) and that's it. -## Third Party Applications +## About Keeweb - - [Calendrier](/app_nextcloud_calendar) - - [Contact](/app_nextcloud_contact) - - [KeeWeb](/app_nextcloud_keeweb) - - [Carnet](/app_nextcloud_carnet) +The KeeWeb application is a password manager integrated into Nextcloud. For example, it allows you to read a KeePass file (*.kdbx*) stored on your Nextcloud instance. +But sometimes Nextcloud does not let the application support these files, which makes it impossible to read them from KeeWeb. To remedy this, +[a solution](https://github.com/jhass/nextcloud-keeweb/blob/master/README.md#mimetype-detection) exists. + +Go to the Nextcloud configuration directory: + +```bash +cd /var/www/nextcloud/config/ +``` + +If it does not exist, create the *mimetypemapping.json* file whose owner is the user *nextcloud* : + +```bash +sudo su nextcloud -c "nano mimetypemapping.json" +``` + +Then add in this file the following text: + +```bash +{ + "kdbx": ["x-application/kdbx"] +} +``` + +Save the file (**CTRL** + **o**) and exit nano (**CTRL** + **c**). + +Then run a scan by executing next command as root: + +```bash +sudo -u nextcloud php /var/www/nextcloud/occ files:scan --all +``` + +Now the problem is fixed. ## Useful links diff --git a/pages/02.applications/02.docs/pleroma/app_pleroma.md b/pages/02.applications/02.docs/pleroma/app_pleroma.md index 8c74e475..5885a7b2 100644 --- a/pages/02.applications/02.docs/pleroma/app_pleroma.md +++ b/pages/02.applications/02.docs/pleroma/app_pleroma.md @@ -7,4 +7,4 @@ routes: default: '/app_pleroma' --- -Unfortunately, this page only exists [in french here](/app_pleroma_fr) for now. +Unfortunately, this page only exists in french for now. diff --git a/pages/03.community/05.project_organization/yunohost_project_organization.fr.md b/pages/03.community/05.project_organization/yunohost_project_organization.fr.md index c7edf193..c867617c 100644 --- a/pages/03.community/05.project_organization/yunohost_project_organization.fr.md +++ b/pages/03.community/05.project_organization/yunohost_project_organization.fr.md @@ -5,6 +5,8 @@ taxonomy: category: docs routes: default: '/yunohost_project_organization' + aliases: + - '/project_organization' --- ! This page is outdated and should be reworked diff --git a/pages/03.community/05.project_organization/yunohost_project_organization.md b/pages/03.community/05.project_organization/yunohost_project_organization.md index 8fa75e4f..89b046e7 100644 --- a/pages/03.community/05.project_organization/yunohost_project_organization.md +++ b/pages/03.community/05.project_organization/yunohost_project_organization.md @@ -5,6 +5,8 @@ taxonomy: category: docs routes: default: '/yunohost_project_organization' + aliases: + - '/project_organization' --- ! This page is outdated and should be reworked diff --git a/pages/03.community/11.chatons/chatons.fr.md b/pages/03.community/11.chatons/chatons.fr.md new file mode 100644 index 00000000..40519d6b --- /dev/null +++ b/pages/03.community/11.chatons/chatons.fr.md @@ -0,0 +1,5 @@ +--- +title: Créer son CHATONS avec YunoHost +template: docs +redirect: 'https://wiki.chatons.org/doku.php/yunohost' +--- diff --git a/pages/03.community/11.chatons/chatons.md b/pages/03.community/11.chatons/chatons.md new file mode 100644 index 00000000..df888eec --- /dev/null +++ b/pages/03.community/11.chatons/chatons.md @@ -0,0 +1,5 @@ +--- +title: Creating a CHATONS with YunoHost +template: docs +redirect: 'https://wiki.chatons.org/doku.php/yunohost' +--- diff --git a/tests/check_code_block_syntax.sh b/tests/check_code_block_syntax.sh deleted file mode 100644 index 62e83a0f..00000000 --- a/tests/check_code_block_syntax.sh +++ /dev/null @@ -1,17 +0,0 @@ -returncode=0 -for FILE in $(ls *.md) -do - NB_OPENING=$(grep -E "^ *\`\`\` *\w+ *$" $FILE | wc -l) - NB_CLOSE=$(grep -E "^ *\`\`\` *$" $FILE | wc -l) - if [[ "$NB_OPENING" != "$NB_CLOSE" ]] - then - echo "There are some mistakes in code block syntax in $FILE ..." - returncode=1 - fi -done - -if [[ $returncode == 1 ]] -then - echo "Make sure that all the code block in the problematic files do specific the language in the opening backticks (for example, \`\`\`bash). Otherwise, rendering in the actual website will be broken because of a bug in markdown parsing lib..." - exit 1 -fi diff --git a/tests/dead_links.sh b/tests/dead_links.sh index c9fd27ce..08bf59b8 100644 --- a/tests/dead_links.sh +++ b/tests/dead_links.sh @@ -1,19 +1,17 @@ returncode=0 -# Find all markdown links and generate a list of filename.md:N:linktarget (with N the line number) -for LINK in $(grep -nr -o -E "\]\(\/?(\w|-)+\)" ./*.md | tr -d ']()/') -do - PAGE=$(echo $LINK | awk -F: '{print $3}') - [ -e "$PAGE.md" ] || echo "This Markdown link looks dead (page doesn't exist in english?) $LINK" - [ -e "$PAGE.md" ] || returncode=1 -done +# Parse default routes +grep -roh "^ *default: .*" ./pages | awk '{print $2}' | tr -d "'" | sort | uniq > .known_pages -# Find all HTML/href links and generate a list of filename.md:N:linktarget (with N the line number) -for LINK in $(grep -nr -o -E 'href="\/?(\w|-)+\"' ./*.md | sed -E 's@href="/?@@g' | tr -d '"') +# Parse aliases +grep -rh "^---$" ./pages -B 50 | grep "^ *\- '/" | awk '{print $2}' | tr -d "'" | sort | uniq >> .known_pages + +# Find all markdown links and generate a list of filename.md:N:linktarget (with N the line number) +for LINK in $(grep -nr -o -E "\]\(\/?(\w|-)+\)" ./pages) do - PAGE=$(echo $LINK | awk -F: '{print $3}') - [ -e "$PAGE.md" ] || echo "This HTML link looks dead (page doesn't exist in english?) $LINK" - [ -e "$PAGE.md" ] || returncode=1 + PAGE=$(echo $LINK | awk -F: '{print $3}' | tr -d ']()/') + + grep -qw "$PAGE" ./.known_pages || { echo $LINK; returncode=1; } done exit $returncode diff --git a/tests/uniformize_links.sh b/tests/uniformize_links.sh deleted file mode 100644 index e0e1613d..00000000 --- a/tests/uniformize_links.sh +++ /dev/null @@ -1,15 +0,0 @@ -for FILE in $(ls *.md); -do - grep -q "Unfortunately, this page only exists" $FILE && continue - - # Replace markdown links with full url ... we only need the relative url - sed -i -E 's@\(https://yunohost.org/#/(\w+)\)@(/\1)@g' $FILE - - # Replace (/foo_fr) to (foo) - sed -i -E 's@\(\/?((\w|-)+)_(en|fr|es|it|ar|de|oc|ca)\)@(/\1)@g' $FILE - - # Replace href="/foo_fr" to href="foo" - sed -i -E 's@href="/?((\w|-)+)_(en|fr|es|it|ar|de|oc|ca)"@href="/\1"@g' $FILE; -done - -git checkout project_organization.md project_organization_fr.md diff --git a/tests/unreferenced_pages.sh b/tests/unreferenced_pages.sh deleted file mode 100644 index dbe83931..00000000 --- a/tests/unreferenced_pages.sh +++ /dev/null @@ -1,25 +0,0 @@ - - -MARKDOWN_TARGETS=$(grep -nr -o -E "\]\(\/?(\w|-)+\)" ./*.md | tr -d ']()/' | awk -F: '{print $3}' | sort | uniq) -HTML_TARGETS=$(grep -nr -o -E 'href="\/?(\w|-)+\"' ./*.md | sed -E 's@href="/?@@g' | tr -d '"' | awk -F: '{print $3}' | sort | uniq) - -ALL_TARGETS=$(echo $MARKDOWN_TARGETS $HTML_TARGETS) - -PAGES=$(ls *.md | sed -E 's/(_(fr|it|de|ar|oc|es|ru|ca))?\.md//g' | sort | uniq) - -returncode=0 - -for PAGE in $PAGES -do - if [[ $PAGE == "index" ]] || [[ $PAGE == "README" ]] || [[ $PAGE == "default" ]] - then - continue - fi - if ! echo $ALL_TARGETS | grep -q -w $PAGE - then - returncode=1 - echo "The following page is not referenced by any other page :( -> $PAGE" - fi -done - -exit $returncode