2024-12-29
This commit is contained in:
parent
495357637f
commit
e279029a02
3 changed files with 34 additions and 40 deletions
37
README.en.md
37
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|<div><div class="highlight">|<div class="highlight">|g' "$1"
|
||||
sed -i 's|</pre></div></div>|</pre></div>|g' "$1"
|
||||
sed -i -r 's|<input(.+) />|<input\1>|g' "$1"
|
||||
sed -i -r 's|<img(.+) />|<img\1>|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|<div><div class="highlight">|<div class="highlight">|g')
|
||||
expr+=('s|</pre></div></div>|</pre></div>|g')
|
||||
expr+=('s|<input(.+) />|<input\1>|g')
|
||||
expr+=('s|<img(.+) />|<img\1>|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
|
||||
```
|
||||
|
||||
|
|
35
README.md
35
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|<div><div class="highlight">|<div class="highlight">|g' "$1"
|
||||
sed -i 's|</pre></div></div>|</pre></div>|g' "$1"
|
||||
sed -i -r 's|<input(.+) />|<input\1>|g' "$1"
|
||||
sed -i -r 's|<img(.+) />|<img\1>|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|<div><div class="highlight">|<div class="highlight">|g')
|
||||
expr+=('s|</pre></div></div>|</pre></div>|g')
|
||||
expr+=('s|<input(.+) />|<input\1>|g')
|
||||
expr+=('s|<img(.+) />|<img\1>|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
|
||||
```
|
||||
|
||||
|
|
|
@ -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)) мс."
|
||||
|
|
Loading…
Add table
Reference in a new issue