diff options
author | Alexey Shpakovsky <alexey@shpakovsky.ru> | 2014-05-25 23:03:14 +0200 |
---|---|---|
committer | Alexey Shpakovsky <alexey@shpakovsky.ru> | 2014-05-25 23:03:14 +0200 |
commit | 5b71d1e524a852f38910d7ad607685b7ee8aa818 (patch) | |
tree | 7228c7454ebc739af34c40f37c023ad4a03d4d51 /bb.sh | |
parent | 39c4a80cec25c3a19f5b2bad0c3c5c1540da24b9 (diff) |
add some options regarding filename generation:
* force to lowercase or not
* what symbol to use instead of space
* what symbols to allow in filenames (makes bashblog more utf-8 friendly)
Diffstat (limited to 'bb.sh')
-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" |