2024-12-29
This commit is contained in:
parent
2dc300f8f2
commit
ef52324aa4
2 changed files with 33 additions and 39 deletions
37
README.en.md
37
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|<div><div class="highlight">|<div class="highlight">|g' "$1"
|
||||
sed -i 's|</pre></div></div>|</pre></div>|g' "$1"
|
||||
sed -i 's|<hr />|<hr>|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| 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|<hr />|<hr>|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
|
@ -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|<div><div class="highlight">|<div class="highlight">|g' "$1"
|
||||
sed -i 's|</pre></div></div>|</pre></div>|g' "$1"
|
||||
sed -i 's|<hr />|<hr>|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| 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|<hr />|<hr>|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
|
||||
```
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue