|
- #! /bin/sh
- # Konwertuje artykuły z Micropedii i SclaviniaWiki na format
- # Encyklopedii Wandejskiej.
- # Copyright © 2017 Paulina Laura Emilia <vilene@posteo.net>
- #
- # This program is free software. It comes without any warranty, to
- # the extent permitted by applicable law. You can redistribute it
- # and/or modify it under the terms of the Do What The Fuck You Want
- # To Public License, Version 2, as published by Sam Hocevar. See the
- # COPYING file for more details.
-
- show_usage=0
- source=
-
- # Sprawdź czy pandoc jest zainstalowany.
- if ! pandoc --version > /dev/null 2>&1; then
- printf '%s: %s\n' "$0" 'Nie zainstalowano narzędzia pandoc.' >&2
- exit 1
- fi
-
- # Jeżeli zadeklarowano źródło inne niż Micropedia.
- case $1 in
- --*)
- source=${1#--}
- shift
- esac
-
- # Sprawdź czy podano wszystkie parametry.
- if [ -z "$1" ]; then
- printf '%s: %s\n' "$0" 'Musisz podać nazwę pliku źródłowego.' >&2
- show_usage=1
- fi
-
- if [ "$source" != nosrc ] && [ -z "$2" ]; then
- printf '%s: %s\n' "$0" 'Musisz podać tytuł strony źródłowej.' >&2
- show_usage=1
- fi
-
- if [ $show_usage -eq 1 ]; then
- printf 'Użycie: %s [--nosrc|--sclavinia] nazwa_pliku tytuł_strony\n' \
- "$0" >&2
- exit 1
- fi
-
- # Skonwertuj plik wejściowy ze znaczników MediaWiki na znaczniki Markdown-SSW.
- sed -Ee 's/\[\[[^]]+\]\]/<nowiki>&<\/nowiki>/g' "$1" | \
- pandoc --from=mediawiki --to=markdown_phpextra+auto_identifiers \
- --base-header-level=2 --wrap=none | \
- sed -Ee 's/\\\[\\\[([^]]+)\\\]\\\]/[[::\1]]/g' -e 's/^-[[:space:]]+/* /'
-
- # Dodaj informację o źródle strony i licencji.
- urlname=$(printf '%s\n' "$2" | sed -e 's/ /_/g')
- case $source in
- nosrc)
- ;;
- sclavinia)
- printf '\n### Źródła\n\n_Strona zawiera materiał pochodzący z artykułu **[%s](http://vonthorn.sarmacja.org/wiki/index.php/%s)** ([lista autorów](http://vonthorn.sarmacja.org/wiki/index.php?title=%s&action=history)) w [Sclavinia Wiki](http://vonthorn.sarmacja.org/wiki/), udostępnionego na licencji [GNU FDL 1.2](https://www.gnu.org/licenses/old-licenses/fdl-1.2.html)._\n' "$2" "$urlname" "$urlname"
- ;;
- *)
- printf '\n### Źródła\n\n_Strona zawiera materiał pochodzący z artykułu **[%s](http://micropedia.wikia.com/wiki/%s)** ([lista autorów](http://micropedia.wikia.com/wiki/%s?action=history)) w [Micropedii](http://micropedia.wikia.com/), udostępnionego na licencji [CC BY-SA 3.0](http://creativecommons.org/licenses/by-sa/3.0/deed.pl)._\n' "$2" "$urlname" "$urlname"
- esac
|