diff --git a/README.en.md b/README.en.md index 7c8fcbd..f8ca269 100644 --- a/README.en.md +++ b/README.en.md @@ -72,7 +72,7 @@ sudo gem install --local color-tomato-theme-1.0.1.gem The site can be built using the `jekyll build` command. After that, we get the `_site` folder with the generated pages and the `assets` subfolder from the theme. We move the contents of this subfolder back to the `_site` folder — we get shorter links, that are used in the theme. After that we bypass HTML pages -and optimize a number of tags also for shortness and for correctness. Additionally, we copy from theme the +and optimize a set of tags also for shortness and for correctness. Additionally, we copy from theme the redirection file to the root of the site for all subdirectories, if they don't contain the `index.html` file. The script is intended for this purpose. @@ -81,25 +81,22 @@ file. The script is intended for this purpose. cd _site || exit cp -r assets/* . rm -r assets -# optimizing a number of tags -function optimize_html { - echo "Optimize: $1" - sed -i 's|layout-padding=""|layout-padding|g' "$1" - sed -i 's| class="language-plaintext highlighter-rouge"||g' "$1" - sed -i 's| class="language-java highlighter-rouge"||g' "$1" - sed -i 's| class="language-html highlighter-rouge"||g' "$1" - sed -i 's| class="language-js highlighter-rouge"||g' "$1" - sed -i 's| class="language-bash highlighter-rouge"||g' "$1" - sed -i 's|
|
|g' "$1" - sed -i 's|
|
|g' "$1" - sed -i -r 's|||g' "$1" - sed -i -r 's|||g' "$1" -} -export -f optimize_html -# launching parallel processing of gathered pages and optimizing a number of tags -find . -type f -name "*.html" -print0 | xargs -I{} -n1 -0 -P0 bash -c 'optimize_html "{}"' -# transition page to the root of the site for directories without a main page -find . -type d -print0 | xargs -I{} -n1 -0 -P0 cp -n return.html {}/index.html +# patterns for optimizing a set of tags +expr+=('s|layout-padding=""|layout-padding|g') +expr+=('s| class="language-plaintext highlighter-rouge"||g') +expr+=('s| class="language-java highlighter-rouge"||g') +expr+=('s| class="language-html highlighter-rouge"||g') +expr+=('s| class="language-js highlighter-rouge"||g') +expr+=('s| class="language-bash highlighter-rouge"||g') +expr+=('s|
|
|g') +expr+=('s|
|
|g') +expr+=('s|||g') +expr+=('s|||g') +# launching parallel processing of gathered pages and optimizing a set of tags +find . -type f -name "*.html" -printf '%p\0' | xargs -I{} -n1 -0 -P0 bash -c \ + "echo 'Optimize: {}' && sed -i -E $(printf " -e '%s'" "${expr[@]}") '{}'" +# transition to the site root for directories without a main page +find . -type d -exec cp -n return.html {}/index.html \; rm -r return.html ``` diff --git a/README.md b/README.md index 40dcd5b..517129a 100644 --- a/README.md +++ b/README.md @@ -80,25 +80,22 @@ sudo gem install --local color-tomato-theme-1.0.1.gem cd _site || exit cp -r assets/* . rm -r assets -# оптимизация ряда тегов -function optimize_html { - echo "Оптимизация: $1" - sed -i 's|layout-padding=""|layout-padding|g' "$1" - sed -i 's| class="language-plaintext highlighter-rouge"||g' "$1" - sed -i 's| class="language-java highlighter-rouge"||g' "$1" - sed -i 's| class="language-html highlighter-rouge"||g' "$1" - sed -i 's| class="language-js highlighter-rouge"||g' "$1" - sed -i 's| class="language-bash highlighter-rouge"||g' "$1" - sed -i 's|
|
|g' "$1" - sed -i 's|
|
|g' "$1" - sed -i -r 's|||g' "$1" - sed -i -r 's|||g' "$1" -} -export -f optimize_html -# запуск параллельной обработки собранных страниц и оптимизации ряда тегов -find . -type f -name "*.html" -print0 | xargs -I{} -n1 -0 -P0 bash -c 'optimize_html "{}"' -# страница перехода в корень сайта для каталогов без заглавной страницы -find . -type d -print0 | xargs -I{} -n1 -0 -P0 cp -n return.html {}/index.html +# шаблоны для оптимизации ряда тегов +expr+=('s|layout-padding=""|layout-padding|g') +expr+=('s| class="language-plaintext highlighter-rouge"||g') +expr+=('s| class="language-java highlighter-rouge"||g') +expr+=('s| class="language-html highlighter-rouge"||g') +expr+=('s| class="language-js highlighter-rouge"||g') +expr+=('s| class="language-bash highlighter-rouge"||g') +expr+=('s|
|
|g') +expr+=('s|
|
|g') +expr+=('s|||g') +expr+=('s|||g') +# запуск параллельной обработки собранных страниц и оптимизация ряда тегов +find . -type f -name "*.html" -printf '%p\0' | xargs -I{} -n1 -0 -P0 bash -c \ + "echo 'Оптимизация: {}' && sed -i -E $(printf " -e '%s'" "${expr[@]}") '{}'" +# переход в корень сайта для каталогов без заглавной страницы +find . -type d -exec cp -n return.html {}/index.html \; rm -r return.html ``` diff --git a/background-big/background-install.sh b/background-big/background-install.sh index da21afe..1ee5bcd 100755 --- a/background-big/background-install.sh +++ b/background-big/background-install.sh @@ -20,4 +20,4 @@ convert -verbose $output -resize 240x200 -strip $output # перемещение полученного изображения в основную папку темы mv -vf $output ../jekyll_theme/assets/img #-------------------------------------------------------------------------; -echo "Общее время выполнения: $(("$(date '+%s%3N')" - "$time_ms")) мс." +echo "Общее время выполнения: $(($(date '+%s%3N') - time_ms)) мс."