diff options
author | Carlos Fenollosa <carlos.fenollosa@gmail.com> | 2014-05-26 20:40:42 +0200 |
---|---|---|
committer | Carlos Fenollosa <carlos.fenollosa@gmail.com> | 2014-05-26 20:40:42 +0200 |
commit | 4789e1feaaa8e27735905b2b01008d415c371407 (patch) | |
tree | 7228c7454ebc739af34c40f37c023ad4a03d4d51 | |
parent | fbaa5118ddf144dade34e9dc258d76d054733bc9 (diff) | |
parent | 5b71d1e524a852f38910d7ad607685b7ee8aa818 (diff) |
Merge pull request #47 from Lex-2008/master
Allow utf-8 filenames
-rwxr-xr-x | bb.sh | 21 |
1 files changed, 16 insertions, 5 deletions
@@ -173,6 +173,14 @@ global_variables() { # prefix for tags/categories files # please make sure that no other html file starts with this prefix prefix_tags="tag_" + # force characters to lowercase - works with latin characters only + filename_lowercase="yes" + # when making filenames, replace spaces with this symbol + filename_spaces="-" + # Regexp explaining forbidden characters in filenames. + # Usually it's something like [^allowed-characters] + # Example for Cyrillic characters: [^A-z0-9А-я-] + filename_forbidden_characters="" # personalized header and footer (only if you know what you're doing) # DO NOT name them .header.html, .footer.html or they will be overwritten # leave blank to generate them, recommended @@ -533,11 +541,14 @@ parse_file() { if [ "$3" ]; then filename=$3 else - filename="$(echo $title | tr [:upper:] [:lower:])" - filename="$(echo $filename | sed 's/\ /-/g')" - filename="$(echo $filename | sed 'y/йцукенгшщзхъфывапролджэячсмитьбю/jcukengsszh-fyvaproldzeahsmit-by/')" - filename="$(echo $filename | sed 'y/ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ/jcukengsszh-fyvaproldzeahsmit-by/')" - filename="$(echo $filename | tr -dc '[:alnum:]-')" # html likes alphanumeric + filename=$title + [[ "$filename_lowercase" == "yes" ]] && filename="$(echo $filename | tr [:upper:] [:lower:])" + filename="$(echo $filename | sed "s/\\s/$filename_spaces/g")" + if [ "$filename_forbidden_characters" ]; then + filename="$(echo $filename | LC_ALL=C.UTF-8 sed "s/$filename_forbidden_characters//g")" + else + filename="$(echo $filename | tr -dc '[:alnum:]-')" # html likes alphanumeric + fi filename="$(echo $filename | sed 's/^-*//')" # unix utilities are unhappy if filename starts with - [ "$filename" ] || filename=$RANDOM # if filename gets empty, put something in it filename="$filename.html" |