diff --git a/README.en.md b/README.en.md index b56bc15..25835c5 100644 --- a/README.en.md +++ b/README.en.md @@ -39,7 +39,7 @@ sudo gem install --local older-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. @@ -48,25 +48,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| 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 '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| 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') +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 ac38b48..788a9ae 100644 --- a/README.md +++ b/README.md @@ -47,25 +47,22 @@ sudo gem install --local older-tomato-theme-1.0.1.gem cd _site || exit cp -r assets/* . rm -r assets -# оптимизация ряда тегов -function optimize_html { - echo "Оптимизация: $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 '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| 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') +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 ```